AdaCore Demonstrating GNATcheck Ada Coding Standard Enforcement Tool for FACE™ Components
GNAT Pro tool checks adherence to Ada subsets for Safety Base / Security and Safety Extended profiles of the FACE Technical Standard
HUNTSVILLE, Ala., September 18, 2018 – US Army FACE™ Technical Interchange Meeting – AdaCore, a trusted provider of software development and verification tools, is demonstrating its GNATcheck coding standard enforcement tool at Booth 41. The demo will show how to check whether a component written in Ada and targeted to a FACE Safety profile satisfies the associated language feature restrictions.
GNATcheck captures the Ada 95 restrictions for the Safety Base / Security and Safety Extended profiles (from the FACE Technical Standard, Editions 2.1.1 and 3.0) as sets of rules that are input to the tool. As an automated aid, GNATcheck can reduce the effort needed in verifying that a FACE component abides by the restrictions defined for its targeted profile.
GNATcheck is part of the GNAT Pro Ada Development Environment, which includes an extensive toolset as well as several specialized run-time libraries that implement the functionality required by the FACE profiles.
“The FACE initiative is an important step forward in promoting component portability and reuse,” said Jamie Ayre, Commercial Director at AdaCore. “AdaCore is pleased to support FACE component developers with our Ada run-time libraries and static analysis tools, and our demo will highlight one of these tools, GNATcheck, as a valuable aid for enforcing the language restrictions associated with the FACE profiles.”
GNATcheck is an extensible static analysis tool for Ada that checks whether a program complies with a coding standard defined by a set of rules. These rules, numbering more than one hundred, include style convention enforcement (casing, indentation, etc.), detection of features that are susceptible to misuse (floating-point equality, goto statements), static complexity checks (block nesting, cyclomatic complexity) and detection of features with complex run-time semantics (tasking, dynamic memory).
An issue with code standards in practice is that some rules might need to admit deviations in specific contexts when justified. GNATcheck allows adding local check exemptions, around a statement or a piece of code. Such exemptions and their justification would then appear in the tool’s report.
DO-178C qualification material is available for GNAT check, at Tool Qualification Level TQL-5 (equivalent to a verification tool under DO-178B).
About GNAT Pro
GNAT Pro is a comprehensive and integrated software development environment, available for Ada and also C and C++. Based on the open source GCC code generation technology, GNAT Pro produces high-qualityobject code across a wide variety of processors and operating systems as well as bare metal target configurations. GNAT Pro Ada handles all versions of the language standard, from Ada 83 through Ada 2012, and includes a full-featured toolsuite, graphical IDEs (GNAT Programming Studio and Eclipse-based GNATbench), and extensive companion libraries.
Specialized run-time libraries are provided with the GNAT Pro Ada environment targeted to several Real-Time Operating Systems (RTOS), including Wind River’s VxWorks 653 and Lynx Software Technologies’ LynxOS-178:
- The ZFP (Zero Footprint Profile) with minimal run-time code.
- The Cert profile, which extends the ZFP with features including support for ARINC-653 APEX processes in Ada or mixed-language applications. The Cert profile is amenable to analysis for inclusion in systems requiring certification under standards such as DO-178B or DO-178C and can be used by FACE components requiring the Safety Base / Security or Safety Extended profile.
- The Ravenscar-Cert profile, which extends the Cert profile with the Ravenscar tasking subset, likewise appropriate for systems needing certification or for FACE components requiring the Safety Base / Security or Safety Extended profile.
- Full Ada, for maximal expressibilitywhen certification is not required.
GNAT Pro can thus offer FACE component developers the benefits of Ada’s high reliability together with the safety-critical support of the Cert and Ravenscar-Cert run-time libraries.
Founded in 1994, AdaCore supplies software development and verification tools for mission-critical, safety-critical and security-critical systems. Four flagship products highlight the company’s offerings:
- The GNAT Pro development environment, a complete toolset for designing, implementing, and managing applications that demand high reliability and maintainability. GNAT Pro is available for Ada and also for C and C++.
- The CodePeer advanced static analysis tool, an automatic Ada code reviewer and validator that can detect and eliminate errors both during development and retrospectively on existing software. CodePeer can detect a number of the “Top 25 Most Dangerous Software Errors” in the MITRE Corporation’s Common Weakness Enumeration (CWE).
- The SPARK Pro verification environment, a toolset based on formal methods and oriented toward high-assurance systems.
- The QGen model-based development tool suite for safety-critical control systems, providing a qualifiable and customizable code generator and static verifier for a safe subset of Simulink®and Stateflow®models, and a model-level debugger.
Over the years customers have used AdaCore products to field and maintain a wide range of critical applications in domains such as commercial and military avionics, automotive, railway, space, defense systems, air traffic management/control, medical devices and financial services. AdaCore has an extensive and growing worldwide customer base; see www.adacore.com/industries/for further information.
AdaCore products are open source and come with expert online support provided by the developers themselves. The company has North American headquarters in New York and European headquarters in Paris. www.adacore.com/
About the FACE™ Technical Standard
The FACE™ Technical Standard is developedby The Open Group FACE Consortium, a collaborative partnership between industry, government andacademia. It is a vendor-neutral approach for addressing the affordability initiatives of the military aviation community. It is designed to enhance the U.S. military aviation community’s ability to address issues of limited software reuse and increase warfighter capabilities, as well as enable the communityto take advantage of new technologies more rapidly and affordably. For more information regarding the FACE approach, please visit: https://www.opengroup.org/face
AdaCore Public Relations Representative
AdaCore Marketing Operations Manager
+33 1 49 70 87 82
Posted on: 9/18/2018