“DO-178B” and MISRA Software Validation Services
DO-178B, MISRA and High Integrity C++ software validation services can be performed.
DO-178B is a specification for the development of software in airborne systems and for their equipment certification.
In DO-178B the development consists of the following:
- Software Life Cycle Process
- Integral Processes
where the “Software Life Cycle” describes the step by step development process and the “Integral Processes” are issues which have to be managed throughout the development.
The Integral Processes are the following:
- Software Verification
- Software Configuration Management
- Software Quality Assurance
- Certification Liason
I can support you in most of these areas.
I have experience in military aircraft such as A400M, Tornado and Phantom F-4.
MISRA is a specification relating to the development of vehicle software.
It is completely different to a specification such as DO178B because it specifies at code level (separately for C and C++) which software constructs are forbidden.
Tools from companies such as those from LDRA can be used to check whether the software conforms to the specification.
If you require that a specific tool is to be used you will have to supply me with the tool and a valid license.
I can help you with software validation. Just let us know your needs.
There are various levels of development to DO178B. These levels are referred to as the Design Assurance Level (DAL) and they designate the potential consequences of a software failure.
The levels are Catastrophic, Hazardous, Major, Minor and No Effect.
These levels are referred to as levels A to E.
I have experience testing to level A. This experience was on the engine of the A400M military aircraft. When testing to DO178 level A it is necessary to perform code coverage of every line of code. When conditional statements contain a lot of variables this can made the testing quite complex, because each variable has to be changed separately, to test how this affects the condition. For this sort of testing it is essential to have a test tool which has itself been qualified as suitable for testing a particular DAL. To use an unqualified tool (or compiler) would introduce the possibility that the tool itself could introduce errors.
I have experience using the tools from LDRA, see www.ldra.com
An important document for DO178B software verification is the Software Verification Plan (SVP) which details how the software is to be verified.
Note the distinction between the words verification and validation. Software verification is the testing of the software to ensure that it works as it should. Software validation ensures that the product was implemented as intended, according to its requirements. That is, it’s possible to have software which works perfectly and has no bugs in it (and is therefore verified as being correct) but it does not completely performs the tasks it should (in which case the validation fails).
Another important issue for DO178 is traceability. This refers to the links between the various artifacts in the development. For example a particular system requirement can be linked to one or more high level requirements which are themselves linked to low level requirements. It’s also necessary to link requirements to the code, to the tests and to the test results. It’s normally best to use a tool to perform traceability. For traceability within the requirements it is normally best to use a tool such as DOORS. Traceability from requirements to code is more tricky and is often performed by placing the DOORS Identifiers manually in the text of the code, as comments. As you can imagine, this solution is not very satisfactory and is prone to errors, especially when the software is modified at a later date.
The latest version of this specification DO178C is now available. This is the long awaited update to DO178B.
Keywords: DO178, DO-178, DO178B, DO-178B, DO178C, DO-178C, “DO-178″,”DO-178”, “DO-178B”, “DO-178C”