Debugging Code Is Rocket Science
A simple NASA static program analyzer finds coding errors for business as well as rockets
Incorrect computer code can blow up rockets, as NASA learned from the first launch in the Ariane 5 rocket series. The 501 rocket used computer code written for the Ariane 4 series – but the change to the rocket systems resulted in an anomaly responsible for an explosion 37 seconds after launch. Finding and fixing coding errors, or bugs, required a new approach.
The airline industry, equally concerned about safety, needed a similar tool.
Software errors are even found during deployment, a major concern, explains Ames Research Center’s Guillaume Brat. Industry lobbied NASA to help with software verification, and IKOS is one of these tools developed.
The Inference Kernel for Open Static (IKOS) Analyzer can evaluate any program written in C or C++ computer language, without running the program it’s analyzing. It looks for mistakes inadvertently introduced by programmers, similar to how a grammar-check program might find errors in an essay.
The program will occasionally identify some coding as having an anomaly when it doesn’t. Fortunately, IKOS has a low rate of those mistakes. Error-free code is marked green. Problems are noted in red. And yellow indicates a potential problem that requires a programmer’s review. Less than 5% of the code is mistakenly marked as needing correction, compared to 20 to 50% for other automated analyzers.
The automated review ultimately saves thousands of staff hours and related expenses. The cost of catching and fixing a software error grows exponentially with each phase of the development cycle, adds Brat. Periodic use of a tool like IKOS makes it possible to uncover bugs early — and it only takes a few minutes to review millions of lines of code.
IKOS was “optimized for the type of software found in civilian aircraft, ranging from small drones to transport aircraft,” he notes. Helping the airline industry meet software certification required by the Federal Aviation Administration was a key motivator driving the development of IKOS. Mandated code review was time consuming and expensive.
However, now anyone can download the open-source program and use it at no cost. Private companies, individuals and government institutions downloaded IKOS more than 1,200 times since 2013, and it has gathered 1,255 stars on GitHub. The software is improving the quality of computer code used in a variety of applications.