GNATcoverage helps assess a testing campaign’s completeness by providing sound analysis and evidence that all of the code, even if only executed under rare conditions, has been sufficiently exercised.
GNATcoverage is available as part of the GNAT Dynamic Analysis Suite
Source code instrumentation capabilities for dynamic analysis.
GNATcoverage computes its results from trace files that show which program constructs have been exercised by a given test campaign. With source code instrumentation, the tool produces these files by executing an alternative version of the program, built from source code instrumented to populate coverage-related data structures. Through an option to GNATcoverage, the user can specify the granularity of the analysis by choosing any of the coverage criteria defined in DO-178C: statement coverage, decision coverage, or Modified Condition / Decision Coverage (MC/DC).
Source-based instrumentation brings several major benefits: efficiency of tool execution (much faster than alternative coverage strategies using binary traces and target emulation, especially on native platforms), compact-size source trace files independent of execution duration, and support for coverage of shared libraries.
Helps meet certification requirements.
For avionics, rail, and space customers needing to meet specific certification requirements, GNATcoverage can provide sound analysis and evidence that satisfies certification requirements for DO-178B / DO-178C, EN 50128, IEC 61508, and ECCS-E40B.
GNATcoverage provides source coverage information for all levels of safety certification, including Statement Coverage, Decision Coverage, and Modified Condition/Decision Coverage.
Qualification material is available for DO-178B and DO-178C up to level A (MC/DC).
Combines Agile concepts with ease-of-use.
GNATcoverage is packaged and sold as a standalone installer and can be used alongside all available GNAT-supported host platforms.
In addition, GNATcoverage is easily scriptable, facilitating the use of devops techniques such as continuous integration, made popular by the Agile community. For example, GNATcoverage’s detection of an uncovered line during an attempted checkin could be scripted to trigger a rejection of the checkin, thus averting the possibility of producing a release that is not completely exercised by the test suites.
Supports all targets and GNAT Pro platforms.
GNATcoverage can be used with all versions of GNAT Pro (including versions two decades old) and for all targets, including native, cross RTOS, and bare-metal targets.
GNATcoverage works with all versions of the Ada language standard, from Ada 83 through the upcoming Ada 202x, and thus also handles the formally analyzable SPARK Ada subset.
Other Resources
- Online Manual: GNATcoverage User's Guide
- AdaCore Blog: Introducing source code instrumentation in GNATcoverage
- AdaCore Blog: GNATcoverage: getting started with instrumentation
- Press Release: GNATcoverage Awarded Electron d'Or Prize
- Press Release: Thales Aerospace Division Selects GNAT Pro for Airbus A350 XWB