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 paperSuperGuard: 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 paperFuture-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 paperLibrary 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 paperVerification 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 paperThe 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 paperLearning 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 paperThe 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 paperCG 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 paperCode 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 paperHow 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