Model-based design is a popular and efficient way of developing applications. But your model will ultimately have to be translated into executable machine code – a process that can introduce software artefacts. So how do you make sure that any artefacts introduced don’t impact your application?
Everyone knows that compiler test suites test the language features of a compiler. That’s what it says on the box. But there’s a lot more going on inside modern compilers than the straightforward translation of language constructs into executable code. For example, modern compilers often respond differently to different construct combinations, or optimize code for speed of execution or memory usage.
It’s not uncommon for a locomotive or airplane to be in use for 30 years or more. Last year, a Boeing 747 used by GE Aviation was retired after 50 years of active service and the Dutch Railways still have trains in service that were introduced in 1986. However, they rarely remain exactly the way they were built.
If your embedded application is safety-critical, it’s only natural you’d want to do everything humanly possible to make sure it’s 100% tested and free of bugs. So you test, test and test again at every stage of software development, until you’re finally ready to compile and test the application on your target hardware.
It’s no secret that compilers fulfil a critical role in application development – compiling efficient source code to efficient machine code. And with that role comes huge responsibility. Our experience is that widely used C and C++ compilers for mainstream processor...
To comply with ISO 26262 and other functional safety standards, your compiler most likely needs to be qualified. With SuperTest you can, of course, do it yourself. But there are compiler vendors that deliver their compilers pre-qualified. Which option is best for you depends on multiple factors.
SuperTest is ready to adapt in your project requirements, testing all versions of the C and C++ standards
The standards for the C and C++ languages keep evolving, so you want your test suite to evolve with them and be able to test against the latest versions. But since software often has a long life and application code is often written using older standards, a test suite should also be able to test compilers against those versions of the standard. SuperTest is suitable for all versions of C and C++.
We are frequently asked questions about compiler qualification. Why it is necessary and how hard is it to qualify your compiler? Well, with SuperTest it is not hard at all, and we are happy to help you. That is why we will be at the Autonomous Vehicle Software Symposium in Stuttgart and at the Embedded Testing 2018 in Munich. We are also hosting a webinar in between these two major events.
Now that developments for autonomous driving are at full steam, application developers shift their focus to the C++ language. The evolution of C++ is going very fast and mainstream (open source) compilers cannot always keep up. So testing the compiler is now more relevant than ever!
SuperTest provides Requirements Traceability from every test to the language specification, but in practice you would have to know how one revision of the standard maps to another. We have created that mapping for you. We also qualified the sections in the language specification for which there are no tests.