AdaCore Releases First Non-Intrusive Coverage Tool to Fully Support All Levels of Safety Certification

Posted: April 11, 2011

AdaCore, a leading supplier of Ada development tools and support services, has announced the release of GNATcoverage, a tool that analyses and reports program coverage. Originally developed as part of the Couverture research project, GNATcoverage performs coverage analysis on both object code — instruction and branch coverage – and Ada and C language source code – statement, decision and Modified Condition/Decision Coverage (MC/DC).
Unlike most current technologies, the tool works without requiring instrumentation of the executable. Instead, it runs directly on an instrumented version of GNATemulator, a lightweight and efficient emulator tool provided by AdaCore. GNATcoverage helps software developers assess the breadth of a testing campaign and provides precise answers to the needs of safety-certification processes, such as the DO-178 avionics standard.
“Until recently, the relationship between source coverage and object coverage had never been studied in detail. The research part of the ‘Couverture’ project proved mathematically the exact perimeter in which complex source coverage metrics, such as MC/DC, could be deduced from object coverage information,” said Cyrille Comar, Managing Director of AdaCore. “It allowed us to build the first coverage tool, working on un-instrumented code and providing results sufficiently accurate for meeting the needs of the highest level of avionics certification. We are very proud of this achievement!”

Combines Agile concepts with ease-of-use

By automating testing and coverage analysis of embedded application code, GNATcoverage allows developers to use continuous integration techniques made popular by the Agile community. Many instances of the tool can be launched simultaneously, making it possible to parallelise coverage analysis. GNATcoverage can also be installed on individual developers’ desktops, allowing them to verify locally and easily the adequacy of their testing strategy.
Analyses the final code that will run on the embedded target
GNATcoverage provides code coverage information directly on the embedded target application code. There is no instrumentation of the object code – the instrumentation is done directly at emulation level.

Aids in establishing certification requirements (DO-178B level A, EN 50128, IEC 61508, ECCS-E40B)

GNATcoverage provides source coverage information for all levels of safety certification (Statement Coverage, Decision Coverage and Modified Condition/Decision Coverage). Qualification material is available for DO-178 B up to level A. GNATcoverage can also provide object-level coverage metrics in term of binary instructions and which branches have been exercised.