Abstract :
Like industrial development organizations, the US space agency struggles with the challenges of creating reliable software. NASA´s deep space community is attacking its software crisis via two complementary approaches - one stressing the power of engineering discipline, the other the potential of automated code generation and verification. Both predictable and unpredictable hazards await the spacecraft, robots, and scientific instruments that humans dispatch to explore our solar system. The toughest hazard may be the known presence of unknown bugs in even rigorously tested software. By exploring new technologies and approaches to develop provably reliable software within tough constraints, NASA has a chance to advance the state of the art, contributing to computer science as well as software engineering. In addition, any successful spin-off that improves reliability while cutting development time and costs could, in principle, generate savings for US industry equal to the nation´s budget for space exploration.
Keywords :
aerospace computing; aerospace robotics; automatic programming; formal verification; software quality; software reliability; space research; space vehicles; NASA mission; US space agency; automated code generation; automated code verification; reliable software; robot; scientific instrument; space exploration; spacecraft; Aerospace engineering; Aerospace industry; Computer industry; Hazards; Orbital robotics; Power engineering and energy; Power generation; Reliability engineering; Solar power generation; Space vehicles;