Software component qualification you can trust for RTCA DO-178C and EUROCAE ED-12C
Measured on the number of passengers and distance traveled, flying is the world’s safest means of commercial transport. To a significant extent that is due to the software-driven avionics systems that keep aircraft in stable flight from the moment they take off to the moment they land, and the fact that the software in those systems is rigorously tested for functional safety. The relevant functional safety standards for avionics software are U.S. Radio Technical Commission for Aeronautics (RTCA) DO-178C and the European Organisation for Civil Aviation Equipment (EUROCAE) ED-12C ‘Software Considerations in Airborne Systems and Equipment Certification’ standards. Both standards are essentially identical. They cover the entire software lifecycle, including planning, requirements, design, implementation, verification, configuration management, and quality assurance.
For qualification and verification of the tool chain, in which the compiler that translates source code into executable code is an essential component, RTCA DO-178C / EUROCAE ED-12C refers to supplemental standard DO-330 / ED-215 ‘Software Tool Qualification Considerations’. This supplemental standard requires avionic system developers to demonstrate that each element in the tool chain does not introduce errors that could escape detection by subsequent verification activities. As far as the compiler is concerned, this involves requirements-based tests to validate that the compiler correctly implements source language constructs, negative tests to check that it flags invalid or ambiguous constructs, and comprehensive code coverage.
Compiler verification should also include regression testing to ensure that new compiler versions containing bug-fixes or new features do not negatively impact the compiler, plus traceability features that provide fully documented forward and backward traceability between the source code language definition, individual compiler tests, and compiler errors. Our SuperTest Compiler Test and Validation Suite for C and C++ compilers comprehensively covers all these requirements.
Although libraries such as the C and C++ standard libraries are often integrated into a compiler, they differ in that invoked library code becomes part of the safety-critical executable code. In avionic applications, libraries therefore fall under the requirements of the RTCA DO-178C / EUROCAE ED-12C software considerations standard and require independent verification with a library safety qualification suite such as SuperGuard.
The standard libraries of C and C++ are collections of header files and library functions defined by the C and C++ programming language specifications. Even if the standard library that you use is delivered as a binary archive, your use case (which includes the compiler configuration and compilation options) is important. This is because the standard library also contains header files that are processed as source code. For efficiency, many functions in the standard library are implemented as macros and are compiled with your current use case. As a result, you must make sure that this use case matches the one that is used for qualification.
Contact us today to discuss how our solutions can help you meet automotive safety standards.
Request a demo Contact Us
Home / Industries / Aerospace | Avionics