DocumentCode
2745799
Title
Randomized Differential Testing as a Prelude to Formal Verification
Author
Groce, Alex ; Holzmann, Gerard ; Joshi, Rajeev
Author_Institution
Lab. for Reliable SoftwareCalifornia, Inst. of Technol. Pasadena, Pasadena, CA
fYear
2007
fDate
20-26 May 2007
Firstpage
621
Lastpage
631
Abstract
Most flight software testing at the Jet Propulsion Laboratory relies on the use of hand-produced test scenarios and is executed on systems as similar as possible to actual mission hardware. We report on a flight software development effort incorporating large-scale (biased) randomized testing on commodity desktop hardware. The results show that use of a reference implementation, hardware simulation with fault injection, a testable design, and test minimization enabled a high degree of automation in fault detection and correction. Our experience will be of particular interest to developers working in domains where on-time delivery of software is critical (a strong argument for randomized automated testing) but not at the expense of correctness and reliability (a strong argument for model checking, theorem proving, and other heavyweight techniques). The effort spent in randomized testing can prepare the way for generating more complete confidence using heavyweight techniques.
Keywords
aerospace computing; formal verification; program testing; software engineering; Jet Propulsion Laboratory; flight software development; flight software testing; formal verification; randomized differential testing; Automatic testing; Design automation; Formal verification; Hardware; Laboratories; Large-scale systems; Programming; Propulsion; Software testing; System testing;
fLanguage
English
Publisher
ieee
Conference_Titel
Software Engineering, 2007. ICSE 2007. 29th International Conference on
Conference_Location
Minneapolis, MN
ISSN
0270-5257
Print_ISBN
0-7695-2828-7
Type
conf
DOI
10.1109/ICSE.2007.68
Filename
4222623
Link To Document