So much of the embedded software and systems rely on it. It provides the fundaments for the code. Without it, essential systems will not run. And yet, we often forget to test them properly: we take the functions in the standard library for granted.
Software development relies heavily on the standard library functions. These resources, defined by the C and C++ language definitions, have a well-defined interface by which their behaviour is invoked. They are automatically added to the application by the Software Development Kit. While library functions for input and output are not often used in deeply embedded systems, the mathematical library for floating point computations is a key part in many safety critical components. In the calculation of brake pressure and the angle of the throttle valve of your car, the mathematical functions can play a vital role.
Application developers use the standard library to provide well-defined and well-known functionality, instead of implementing that code manually. This saves time, shortens the code and is more robust. Because code from the C standard library is going to end up on the device, it cannot go unqualified. For functional safety standards such as ISO 26262 standard library code does not have a different status than other application code that has to run on the target.
Functional safety testing
You would think that there would be rules for library qualification in the ISO 26262 standard because of their importance. In fact, Part 6 of the current ISO 26262 document does not mention libraries at all! That they need to be treated as application code is left implied. This is unfortunate, because in the construction of the application, the addition of library code is automatic and largely invisible. It is easy to forget about it in the functional safety process.
SuperTest does not forget the standard library
The C standard library is very well defined: its definition is in the ISO C language specification. And that in turn implies that there is a very good test suite for the standard library: SuperTest. Because libraries are such an important part of the entire application, we have fitted Supertest with extensive testing of them in particular for the mathematical library. SuperTest provides this essential ingredient to library qualification.
If you want to know more about using SuperTest for C standard library qualification in safety critical applications, read our whitepaper, or contact us for more information.