Latest Blog Posts

Not all test suites are created equal
We are often asked what differentiates SuperTest from the GCC and LLVM test suites. If you are using the LLVM or GCC test suite, why would you use SuperTest as well? Apart from the obvious answer "more testing, preferably using tests...

The risks of invalid error messaging
The fundamental measure of any compiler is its ability to generate high-quality, functionally correct, executable code. But equally important is its ability to generate valid, well annotated, error messages when the source code it...

Qualify the compiler and get assembler and linker qualification for free
As the saying goes, ‘a chain is only as strong as its weakest link’, and it’s as true in software development as it is in any other walk of life. A lot happens between source code and your target processor, so making sure your C or...

Library code is part of your safety critical application
Writing code for your safety-critical application requires a great deal of care and attention. But above all it requires highly effective verification. That not only applies to the code you write. It also applies to any standard...

Webinar: Language subsetting and compiler qualification
In this blog, we promote the joint webinar we are running with BUGSENG. The webinar topic is: “Language Subsetting and Compiler Qualification in the Development of Software for Safety-Critical Systems”. It will run on Thursday, 17...

Don’t forget the ‘hidden library’ in C and C++
Writing code is hard. Reimplementing common tasks is prone to error. That’s why software developers rely heavily on the functions in the standard library. It makes the job easier for developers, and the generated code more reliable....

Functions in the standard library are usually taken for granted
The standard library is a fundamental part of most embedded systems and their software; embedded systems would not run without it. However, functions in the standard library are usually taken for granted and are not tested properly....

“What a scary world your engineers live in!”
Compiler Explorer is an extremely useful interactive web-site created by Matt Godbolt. You can paste in any C or C++ source code (or one of the other 19 supported languages), select a compiler from a long list of choices, run it and...

A compiler is more than ‘just a translator’
After a recent webinar, someone stayed online to talk more about compilers. They were surprised by the complexity and potential safety impact of the compiler - “To be honest, I thought it was just a translator.” As we have often...

The Emergent Safety of a Piece of String
What constitutes ‘the safety of a compiler’? This is a question that keeps us busy on a daily basis. The question however is not that easy to answer, because the safety of a compiler does not exist. Safety is an emergent property -...