To use C and C++ in safety-critical applications, it is required that developers have enough confidence in the correct implementation of the compiler they use. The common way to do that is by using the process that is described in the ISO 26262 functional safety standard for automotive software. It requires that the compiler is verified according to its specification. For C and C++, that specification is provided by the ISO-standardized C and C++ language definitions.
Our product SuperTest is the industry standard to verify that a C or C++ compiler is correctly implemented according to its specification.
SuperTest is a test suite with tens of thousands of hand-written and generated tests, following the structure of the C and C++ specifications. It verifies that a compiler conforms to the specification, allowing developers of safety-critical applications to create confidence in the compiler they use.
For the convenience of developers, many compilers implement extensions to the standard C and C++ languages. Well-known examples are the GNU extensions provided by the GCC compiler. Such extensions typically do not have a formal specification. Hence, they cannot be used in safety-critical applications, unless a formal specification is created and it is verified that the compiler correctly implements that specification.
The goal of this project is to define a process and develop the means to qualify extensions to the C and C++ programming languages. This includes but is not limited to:
- defining a process to handle the qualification of such non-standardized extensions
- define a formal specification based on existing documentation of compiler extensions
- define requirements based on the formal specification
- define a requirements-based test suite for the extensions, potentially leveraging existing test suites
We offer:
- A pleasant working environment in Amsterdam
- Guidance when you need it
- An internship compensation