NASA Software Detects ‘Bugs’ in Java Computer Code
NASA — NASA scientists today announced they are releasing free software that will find ‘bugs,’ or defects, in Java computer code.
The new software, Java Pathfinder, is classified as ‘open source software.’ Open source software is computer code that scientists make publicly available, often at no cost, so users can freely utilize and modify it. Java is a computer language that software developers frequently use to write programs for computer networks such as the Internet.
“Java PathFinder is a program that helps people find ‘bugs’ in other programs,” said John Penix, a computer scientist at NASA Ames Research Center, located in California’s Silicon Valley. “PathFinder runs the program under test through a lot of trials, and tries to find a test that will cause the program to fail.”
NASA Ames is providing Java PathFinder as ‘open source’ code at no cost to people who would like to use it, according to Penix. “This will enable other people to help us improve the PathFinder software,” he said. “NASA will benefit from the improvements. We’re doing this so we can leverage the open-source community,” he added.
The Java Pathfinder work “is part of an effort to develop tools and methods to identify and eliminate software errors in NASA’s increasingly complex and mission-critical software systems,” according to David Korsmeyer, who leads the NASA Ames Intelligent Systems Division.
“Java Pathfinder was used to detect inconsistencies in the executive software for the K9 Rover at NASA Ames,” Korsmeyer said. The K9 rover is a six-wheeled, solar-powered rover developed jointly at NASA Ames and NASA’s Jet Propulsion Laboratory (JPL), Pasadena, Calif.
In addition, computer scientists used elements of Java Pathfinder to develop verification computer code for Livingstone 2 software, a diagnosis system now flying on the EO-1 spacecraft “and an example of the kind of autonomy software that will be crucial to future NASA missions,” Korsmeyer said.
“We’re continuing to develop software-testing technologies,” said Penix. “NASA has a lot of software, and it is difficult to get it right; so we want to take advantage of all the work that is going on out there and incorporate it into our tools,” he explained.
According to scientists, if PathFinder finds an error in a Java application, the software checker reports the whole process that leads to the bug. Unlike a normal debugger, Java Pathfinder keeps track of every step the software checker takes to find a defect, Penix noted.
“PathFinder already has been enhanced and tested by several universities and companies,” Penix said. “Now, additional universities can add more features to PathFinder,” he said, describing how providing Java Pathfinder to the computing world could benefit NASA. Pathfinder is in its sixth year of active development.
On the Net: