To meet DO-178B & DO-178C requirements, testing during the development of airborne software should be supported with structural code coverage measurements. This paper sets out eight key code coverage questions for engineers working on embedded real-time avionics systems, before introducing a software tool – RapiCover – which is designed to conduct code coverage measurement on an embedded avionics target.
Supporting the test process with measurements of structural code coverage is a key activity for DO-178B and DO-178C compliance during the development of software for airborne systems. In this white paper we consider eight key questions:
- What is code coverage and how does it benefit my project?
- Should we do on-target or on-host coverage?
- What are the challenges to on-target code coverage and how can we overcome them?
- How can I use my code coverage results to support certification?
- What additional benefits are derived from measuring on-target?
- How do I combine results from multiple tests?
- How do I deal with missing code coverage?
- What should I look for in a code coverage tool?
After we have addressed these eight key questions, we introduce RapiCover, a software tool designed to efficiently perform structural coverage analysis on code running on an embedded target. The benefits of using RapiCover to conduct structural coverage analysis on an embedded target include:
- Reduced timescales by running fewer on-target tests. Very lightweight instrumentation means more coverage information per test cycle.
- Reduced risk through greater tool flexibility. Adapt RapiCover to work with your system, rather than adapting your system to work with another tool. Collect coverage information via a wide variety of mechanisms, making it easier to integrate RapiCover into your system.
- Reduced effort for certification activities. Automatic combination of results from multiple test runs and the ability to justify missing coverage makes the preparation of coverage quicker.