Reducing the risk in safety-critical automotive applications

DENSO – Solid Sands

It’s not only compiler developers who need to think about compiler validation. Software developers who require proof that their application code compiles without errors also need to think about it – especially when their applications are safety critical.

DENSO, a leading global supplier of advanced automotive technology, systems and components ,is using SuperTest™ – a compiler test and validation suite by Solid Sands that solves this problem.

Re-using existing source code that you know compiles and runs flawlessly is one of the best ways to maintain software and product quality, but whenever you introduce a new product range, it’s inevitable that you have to generate some new source code that may expose compiler errors. Even the individual code styles used by different software developers can expose problems with the compiler. However, potential problems aren’t confined to new code generation.

“Every time we receive a new version of a compiler, we need to check that the compiled code matches that produced by the earlier version. In the past, we did it by manual comparison at assembler level or by functional testing, but either way it took a lot of time and effort,  and the results were often not repeatable. The same  applies when we need to check compiler accuracy after  switching between different C-language or CPU variants.”  says Mitsuhiro Tani, Manager, Basic Software Eng. Div.  DENSO Corporation in Japan.

SuperTest not only allowed to speed up and automate the process of identifying differences between compiler versions and validating language or CPU variants, it also allowed the company to build its own unique test requirements into the process.

Compiler suppliers validate their compilers using test suites  that reflect typical use cases, but that doesn’t mean that  every possible compiler option is covered. SuperTest gives the flexibility to configure own use cases and add own test suites, so software developers are able to leverage their in-house knowledge and add specific test cases that are critical to each application.

Because SuperTest is updated on a regular basis,  SuperTest will be useful when software developers have  to start using and verifying library code. Typical compiler errors detected by using SuperTest include the operation of Mathematical Functions that is not compatible with  C language standard, inconsistencies between different compiler versions, inconsistent library operation between compilers, and so on.

“Since these compiler problems and errors can be detected before the product development and shipment,  DENSO can significantly reduce the effort of updating.  We believe that SuperTest has turned out to be a good investment for the company. ” says Hiroki Nakasato,  Assistant Manager, Basic Software Eng. Div. DENSO Corporation.

The volume of test suites that are included in SuperTest  and code samples that detect a range of potential  compiler errors makes it very cost-effective. The fact that software developers can separate tests in a quick and effective way gives the test flexibility need to identify and locate bugs. Add to that the fact that a standard compliance check for a compiler takes less than 1 to 2  days to run and SuperTest saves a lot of time and money.

For companies with a very high reputation to maintain and strict automotive safety standards to meet, compiler quality will always be an issue. SuperTest’s ability to achieve the confidence levels needed to use compiler into safety-critical automotive applications has now won it a permanent place in the arsenal of software development tools.