Whitepapers

In-depth technical papers on compiler validation, library testing, and safety-critical software

icon whitepaper Whitepaper

Using Open-Source Compilers in Safety Critical Projects

One of the great aspects of functional safety standards is that they do not care about the origin of a tool that is used for a safety critical application. Focusing on compilers in particular, it does not matter if it is bought from a reputable supplier or downloaded from GitHub. What does matter is that the process for qualification as described in the functional safety standard is followed.

Read More
icon whitepaper Whitepaper

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 More
icon whitepaper Whitepaper

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 More
icon whitepaper Whitepaper

C and C++ Library Qualification with SuperGuard

The starting point for developing a requirements-based test suite for the Cand C++ standard libraries is the library specification in the ISO language standard. The specification describes the behavior of library functions from the library user’s perspective.

Read More
icon whitepaper Whitepaper

Verification of Optimization Correctness with SuperTest

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 More
icon whitepaper Whitepaper

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 More
icon whitepaper Whitepaper

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 More
icon whitepaper Whitepaper

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 More
icon whitepaper Whitepaper

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 More