AdaCore's Coding Standard Verification Tool Eases DO-178B Compliance

Aircraft Engineering and Aerospace Technology

ISSN: 0002-2667

Article publication date: 16 May 2008



(2008), "AdaCore's Coding Standard Verification Tool Eases DO-178B Compliance", Aircraft Engineering and Aerospace Technology, Vol. 80 No. 3.



Emerald Group Publishing Limited

Copyright © 2008, Emerald Group Publishing Limited

AdaCore's Coding Standard Verification Tool Eases DO-178B Compliance

Article Type: Equipment and software From: Aircraft Engineering and Aerospace Technology: An International Journal, Volume 80, Issue 3.

AdaCore, provider of the highest quality Ada tools and support services recently announced the availability of GNATcheck, an integrated coding standard verification tool within the GNAT Pro development environment. GNATcheck meets the growing need for automated verification in safety- critical avionics systems, particularly those systems that need to satisfy the DO-178B standard.

Developed by RTCA and EUROCAE, DO-178B defines the guidelines for development of aviation software in both the USA and Europe and is being increasingly adopted by other related sectors, such as air traffic control and military applications.

AdaCore's GNATcheck is an extensible rule-based tool with an easy- to-use interface. It allows developers to completely define a coding standard (referred to as a “Software Code Standard” in DO-178B) as a set of rules, for example a subset of permitted language features. It verifies a program's conformance with the resulting rules and thereby facilitates demonstration of a system's compliance with DO-178B.

“The combination of the Ada language (an international standard), GNATcheck, and additional constraints and reporting inside GNAT Pro, provides a comprehensive solution for avionics developers” said Robert Dewar, President and CEO of AdaCore. “Ada has already been used in many safety- critical systems, such as the Boeing 787 and C-130 AMP, Airbus A380 and Eurofighter among others.”

“With software innovation powering today's successful aircraft, automatic coding standard verification is becoming more and more important,” commented Cyrille Comar, Managing Director, AdaCore Europe. “The highly structured nature of the Ada language makes it a natural choice for avionics development, and by adding our own enhancements within GNAT Pro we can offer the most complete and integrated solution for coding standard verification compliant with DO-178B requirements.”

The key features of GNATcheck include:

  • An integrated Ada restrictions mechanism for banning specific features from an application. This can be used to restrict features, such as tasking, exceptions, dynamic allocation, fixed or floating point, input/output and unchecked conversions.

  • GNAT Pro specific restrictions, which complement Ada's set of restrictions, such as those banning the generation of implicit loops or conditionals in the object code, or the generation of elaboration code.

  • Additional rules based on Ada semantics specification developed following extensive customer input, including detailed issues, such as ordering of parameters, normalised naming of entities and subprograms with multiple returns.

  • Easy-to-use interface for creating and using a complete coding standard.

  • Generation of project-wide reports, including evidence of the level of compliance to a given coding standard.

  • Over 30 compile time warnings from GNAT Pro that detect typical error situations, such as local variables being used before being initialised, incorrect assumptions about array lower bounds, infinite recursion, incorrect data alignment, and accidental hiding of names.

  • Style checks that allow developers to control indentation, casing, comment style, and nesting level.

Work on qualifying GNATcheck as a verification tool (in a DO-178B context) is in progress. After this work is completed, GNATcheck's status as a qualified tool will allow the evidence that it generates to be used as part of a system's certification.

For further information, please contact: AdaCore, web site:

Related articles