DocumentCode :
2308670
Title :
Using SPIN model checking for flight software verification
Author :
Gluck, Peter R. ; Holzmann, Gerard J.
Author_Institution :
Jet Propulsion Lab., NASA, Pasadena, CA, USA
Volume :
1
fYear :
2002
fDate :
2002
Abstract :
Flight software is the central nervous system of modern spacecraft. Verifying spacecraft flight software to assure that it operates correctly and safely is presently an intensive and costly process. A multitude of scenarios and tests must be devised, executed and reviewed to provide reasonable confidence that the software will perform as intended and not endanger the spacecraft. Undetected software defects on spacecraft and launch vehicles have caused embarrassing and costly failures in recent years. Model checking is a technique for software verification that can detect concurrency defects that are otherwise difficult to discover. Within appropriate constraints, a model checker can perform an exhaustive state-space search on a software design or implementation and alert the implementing organization to potential design deficiencies. Unfortunately, model checking of large software systems requires an often-too-substantial effort in developing and maintaining the software functional models. A recent development in this area, however, promises to enable software-implementing organizations to take advantage of the usefulness of model checking without hand-built functional models. This development is the appearance of "model extractors". A model extractor permits the automated and repeated testing of code as built rather than of separate design models. This allows model checking to be used without the overhead and perils involved in maintaining separate models. We have attempted to apply model checking to legacy flight software from NASA\´s Deep Space One (DS1) mission. This software was implemented in C and contained some known defects at launch that are detectable with a model checker. We describe the model checking process, the tools used, and the methods and conditions necessary to successfully perform model checking on the DS1 flight software.
Keywords :
C language; aerospace computing; program debugging; program testing; program verification; space vehicles; state-space methods; C software implementation; DS1 flight software; NASA Deep Space One mission; SPIN model checking; automated repeated code testing; concurrency defects; design deficiencies; design models; flight software verification; launch vehicles; model checking process; model checking software verification; software functional models; software tests; spacecraft failures; spacecraft flight software; spacecraft scenarios; state-space search; undetected software defects; Central nervous system; Concurrent computing; Performance evaluation; Software design; Software maintenance; Software performance; Software safety; Software systems; Software testing; Space vehicles;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Aerospace Conference Proceedings, 2002. IEEE
Print_ISBN :
0-7803-7231-X
Type :
conf
DOI :
10.1109/AERO.2002.1036832
Filename :
1036832
Link To Document :
بازگشت