Solutions for IEC 61508
The IEC 61508 standard is the international umbrella standard for functional safety for electrical/electronic/programmable safety-related systems. The standard is used in a wide variety of industries with reliability and safety requirements, such as the process industry, power plants, robotics and industrial control systems. Several other functional safety standards including the ISO 26262 standard for the automotive industry are derived from IEC 61508.
Section 7.4.4 of Part 3 of the standard specifies requirements for support tools and programming languages. This is the section that applies to compilers. In IEC 61508, compilers are “software off-line support tools” of class T3. T3 tools “generate outputs which can directly or indirectly contribute to the executable code of the safety related system”.
The C and C++ languages are defined by the international ISO language standards ISO 9899 and ISO 14882. SuperTest verifies that the behavior of the executable code generated by the compiler conforms to the language standard. SuperTest contains automated tools that summarize the results of a validation run into manageable reports. One of these reports provides section traceability. It details match between the requirements of the language specification and the tests that have PASSED or FAILED.
There are few, if any, compilers that pass SuperTest verification without failures. Most common are errors that fail to detect violations of constraints, which may allow programming errors to go unnoticed. More rare are errors that incorrectly implement the required behavior. These are run-time errors that potentially pose an unacceptable risk to a safety-critical system. To avoid the first category (undetected constraint violation) a good mitigation is to verify the source code with a more strict static analysis tool than the compiler. This static analysis tool can also be verified with SuperTest. Different options are available to mitigate errors of the second category – run-time errors. In most cases, the error can be linked to a specific programming construct or to compilation options. If the error is linked to a programming construct, Solid Sands can help to avoid this by providing an automatic analysis tool that detects the construct in the application source code.
Compiler compliance with IEC 61508 is an important step in the development of a safety-critical system. SuperTest is the best tool available to provide validation for C and C++ compilers.
Contact us today to discuss how our solutions can help you meet automotive safety standards.
Request a demo Contact Us
Home / Industries / Robotics