Skip the navigation

NASA leads efforts to build better software

February 7, 2003 12:00 PM ET

Computerworld - WASHINGTON -- NASA's mission software systems are considered to be among the best-engineered in the world. But software has its limits, and NASA realized after the 1999 crash of the unmanned Mars Polar Lander that it needed help.
The crash on Mars was blamed on a software bug: "Software testing was inadequate," a NASA study said. But NASA officials knew that a long-term fix for the problem would involve more than simply finding and fixing bugs. It would mean improving software quality and creating systems that would not fail.
The Feb. 1 crash of the space shuttle Columbia has brought renewed attention to the highly complex computer systems and software used by the space agency.
The "Mars Polar Lander was an important watershed event" for NASA, said Dr. Henry McDonald, who headed the NASA Ames Research Center in Moffett Field, Calif., until last November.
McDonald urged the agency to broaden private-sector involvement, and the space agency did just that, bringing together leading universities to help in the development of highly dependable systems. Indeed, so close is this private-sector collaboration that last month Carnegie Mellon University in Pittsburgh, the lead university in a research program that received $23 million from NASA, signed a lease to establish a West Coast campus at Moffett Field.
Moreover, the space agency is playing a leading role in the Sustainable Computing Consortium (SCC), a group formed in July that includes companies such as FedEx Corp., Pfizer Inc., Microsoft Corp. and Oracle Corp.
The goal is the Holy Grail of software design: software that does what it's intended to do, no matter what. It's called "high dependability," and it means building systems that tolerate hardware faults well, maintain a high level of security in an attack and are always available to the end user.
The research could help not just NASA, but any industry. "There are many, many applications that would benefit greatly from very highly dependable computing, and NASA is among those," said Jan Aikins, chief technologist at the Ames Research Center. Critical applications include those used by financial services and hospitals -- industries that need "applications that can't fail, that don't fail," Aikins said.
But achieving that will take a monumental effort. Among engineered systems, software is unique because there are no systems that provide definitive measures of a system's level of security and dependability. "The central objective is to be able make positive statements about presence or absence of those kinds of attributes in a finished product," said SCC head William Guttman, a professor of economics and technology at Carnegie Mellon.
Engineers know

Our Commenting Policies