The Lockheed Martin F-35 Joint Strike Fighter (JSF) is a novel aircraft for a variety of reasons, not the least of which is its software. The fifth-generation fighter jet reportedly comprises more than 10 million lines of software code, segmented into blocks and largely written in C and C++; yet, it also uses software code in the Ada computer programming language from the Lockheed Martin/Boeing F-22 Raptor military fighter aircraft.
The F-35 Lightning II, among the most complex military platforms to date, has suffered some production and deployment setbacks due the sheer volume of software code employed. Yet, aerospace and defense technology firms are working hard to remedy the situation.
The F-35 runs the Integrity DO-178B securely partitioned, safety-critical, certified real-time operating system (RTOS) from Green Hills Software in Santa Barbara, Calif. Datel engineers implemented the LDRA tool suite for software verification related to the F-35 engine, and developers at Parasoft Corp. in Monrovia, Calif., are working directly with Lockheed Martin engineers on static code analysis for JSF.
Engineers at Ultra Electronics Controls (formerly Datel) in West London, U.K., selected LDRA software verification tools for their work on the Pratt & Whitney F135, the engine of choice for the F-35 Lightning II fifth-generation tactical fighter developed by Lockheed Martin in conjunction with BAE Systems and Northrop Grumman.
Datel engineers had specific technical requirements related to their work on the Engine Ice Protection System (EIPS) for the Pratt & Whitney F135 Engine on the Lightning II Joint Strike Fighter project, and the Wing Ice Protection System (WIPS) for the Boeing 787 Dreamliner. They needed a software verification tool able to integrate with their target environment, which included the Texas Instruments TMS320F2812 and TMS320F2808 digital signal processors (DSPs).
Datel personnel made use of LDRA’s complete structural coverage analysis solution at unit, integration, and system test levels. These tests were applied to source and object code, making use of the LDRA tool suite’s red-box mode.
“It was important to Datel that it was able to develop their software to a known coding standard and, consequently, MISRA-C:1998 was selected to be applied to this code,” a company representative describes. The LDRA tool suite simplifies the process by enforcing various standards using drop-down menus, which proved important for Datel.
Datel staff also needed an automated, intuitive unit testing tool which would save time, free up highly qualified staff, increase test efficiency, and improve motivation to test through a repeatable, less error-prone process. They found their solution in TBrun, LDRA's tool for the automated generation and management of unit tests. In the end, Datel reduced the time needed to confirm the verification results and increased the repeatability of its internal process.
QA on JSF
Lockheed Martin officials in the Maritime Systems & Sensors (MS2) business unit selected Parasoft’s Jtest, C++test, and Insure++ tools in 2004 to support quality testing for its software. (The MS2 unit became the Lockheed Martin Mission Systems and Training, or MST, unit in 2012.)
"Our systems provide critical support when lives are on the line," Martina DelRocini, software subcontract management at Lockheed Martin, explains. "Quality assurance throughout our processes ensures our systems meet their demanding requirements."
Jtest and C++test automatically verify compliance to coding rules while generating and executing unit tests to ensure quality early in the software development lifecycle. Insure++ detects memory errors, such as corruption, leaks, and allocation errors in C/C++ code.
This relationship with Lockheed Martin “demonstrates Parasoft’s ability to help large-scale software development organizations prevent software errors in what are some of the most complex systems being developed today," adds Larry Johnsen, Parasoft director of military/aerospace solutions. Parasoft's Software Development Compliance solution provides code analysis for compliance with the Joint Strike Fighter Air Vehicle C++ Coding standards.