White Papers 

White Papers

This page lists our white papers, light papers and technical notes. Make sure to visit this page regularly to stay up to date with our developments and new features.

Overview of New SuperTest Features

To continue a high level of software quality, we often send out new Updates and Releases to our users. Curious to discover the ingredients of SuperTest? Find out which new features are added to SuperTest or learn more about the number of tests in SuperTest by using the buttons below.

New SuperTest features over the years How many tests are there in SuperTest?

Code Coverage Analysis Exposes Invisible Bug in the GNU C++ Library

Code coverage analysis improves confidence in a test suite. It demonstrates which parts of the source code are actively used as a result of test execution. We run our test suite for the implementation of the C and C++ standard. Code coverage analysis tells us which lines of the library implementation are “stimulated” by the tests.

Read the white paper

SuperGuard: Qualifying the C Standard Library for use in safety-critical applications

Solid Sands has introduced a new library qualification tool called the SuperGuard C Library Safety Qualification Suite – a requirements-based test suite for the C Standard Library with full traceability from individual test results back to requirements derived from the ISO C language specification.

Read the white paper

Future-proofing the GCC compiler for an automotive grade microcontroller

ABIX is tasked with upgrading and improving the GCC compiler for the Belgian company Melexis, a global supplier of microelectronic semiconductor solutions. With the ABIX staff having successfully used SuperTest for proprietary compiler developments and for compiler testing as a service for many years, using SuperTest is the natural choice here.

Read the white paper

Library Qualification, From Requirement to Test Specification to Test

Considering the complexity of the C language specification and the importance of its correct implementation, standard library implementations cannot be taken for granted. The best way to verify that your library is implemented correctly is to qualify it with a test suite. 

Read the light paper

Verification of Optimization Correctness 

If you think advanced compiler optimizations are robust and well-tested, you are wrong. Our recent experiments with optimization testing have uncovered errors in every compiler technology that we got our hands on. Our conclusion is that advanced optimization testing is currently an underdeveloped skill of compiler developers and that action is required.

Read the white paper

The Day That GNU-C++ -Os Broke

We encounter a lot of compiler problems that require deeper research. Recently we hit on an interesting optimization error. The -Os option caused several tests related to exception handling and inheritance to fail on GNU-C++ – further confirmation that compiler qualification must be use-case specific.

Read the light paper

Learning From Math Library Testing For C

In the process of improving SuperTest, I recently dived into its math library testing. Turns out there were some interesting observations to make. I have summarized them here in four lessons. The take-away is that our intuition about real numbers does not translate directly to floating point computations. When working with floating point, it is essential to have a model of its accuracy in mind. This white paper is my attempt to capture some intuition about floating point computations.

Read the white paper

The Benefits of C and C++ Compiler Qualification 

In embedded application development, the correct operation of the compilation toolset is critical to the functional safety of the application. Two options are available to build trust in the correct operation of the compiler: either by compiler qualification through testing, or application coverage testing at the machine code level. Compiler qualification saves time and money.

Read the white paper

CG Trainer – for Code Generator Development 

Developing a C compiler for a new (or old) target processor is one of the greatest and most rewarding software engineering projects imaginable. It is also challenging and daunting. This is where SuperTest’s new Code Generator Trainer suite comes in.

Read the white paper

Code Generator Development and Validation

The code generator is a critical part of the compiler that requires more specific testing than the rest of the compiler. SuperTest is the best test suite to do this, as other test suites are only designed to verify language compliance. Unlike other tools, SuperTest can be used almost from the start of new compiler development projects.

Read the white paper

How a Rogue Optimization Introduces Data Races 

Not all optimizations that work well for sequential applications can be used for multi-threaded applications. This is important in particular since C11 defined C’s memory consistency model. A common optimization that is present in many compilers still used today does not work well with shared memory parallel programming. Learn more about the details and about memory consistency by clicking the button below.

Read the technical note