As we pointed out in the previous blog, before we qualify a compiler for a safety-critical project, it’s essential we know all the compiler options that the project intends to use. With typical projects being highly complex, like a tower of babel with complicated build scripts, we know that determining precisely what options are passed to the compiler can be difficult and time-consuming. The analysis also needs to be comprehensive, because once we qualify a compiler using an option list, the developer will need to make sure to stick rigidly to this list throughout the project. If they subsequently decide to use other options, re-qualification of the compiler is required.
The CerTran solution
How much easier would it be if you could automate the entire process? Well now you can, thanks to a recent collaboration with our friends at BUGSENG. Together we created CerTran, an automated tool based on BUGSENG’s ECLAIR static analysis technology that analyzes your build process and automatically determines how the compiler is invoked. Armed with that information, it automatically creates a SuperTest configuration for every compiler option combination found. As a result, SuperTest verifies correct operation of the compiler for all of them.
Build CerTran into your Continuous Integration System and you can be sure your entire project remains within the bounds of its verified option list. With CerTran and SuperTest together you’ll have the ongoing confidence of knowing whether or not your compiler remains fully qualified if you decide to use additional options. For example, if someone in the project justifiably decides to use the -ffast-math option to compile a piece of performance-critical code, an automated run of CerTran followed by SuperTest will rapidly identify the implications for compiler compliance with the language standard.
Maintaining compliance is vitally important in safety-critical projects, which are subject to regulations and functional safety standards. But why stop there? Virtually every software application is mission-critical in some way, even if it’s only in terms of the reputation and bottom line of your company. So ensuring the compiler functions correctly for all the options you choose, especially those that control optimizations, simply makes sense.
Feel free to reach out if you want to know more about CerTran’s powerful integration with SuperTest.
Dr. Marcel Beemster, CTO
Subscribe to our monthly blog!