DocumentCode
41012
Title
An Empirical Evaluation of Mutation Testing for Improving the Test Quality of Safety-Critical Software
Author
Baker, R. Jacob ; Habli, Ibrahim
Author_Institution
Aero Engine Controls, Birmingham, UK
Volume
39
Issue
6
fYear
2013
fDate
Jun-13
Firstpage
787
Lastpage
805
Abstract
Testing provides a primary means for assuring software in safety-critical systems. To demonstrate, particularly to a certification authority, that sufficient testing has been performed, it is necessary to achieve the test coverage levels recommended or mandated by safety standards and industry guidelines. Mutation testing provides an alternative or complementary method of measuring test sufficiency, but has not been widely adopted in the safety-critical industry. In this study, we provide an empirical evaluation of the application of mutation testing to airborne software systems which have already satisfied the coverage requirements for certification. Specifically, we apply mutation testing to safety-critical software developed using high-integrity subsets of C and Ada, identify the most effective mutant types, and analyze the root causes of failures in test cases. Our findings show how mutation testing could be effective where traditional structural coverage analysis and manual peer review have failed. They also show that several testing issues have origins beyond the test activity, and this suggests improvements to the requirements definition and coding process. Our study also examines the relationship between program characteristics and mutation survival and considers how program size can provide a means for targeting test areas most likely to have dormant faults. Industry feedback is also provided, particularly on how mutation testing can be integrated into a typical verification life cycle of airborne software.
Keywords
Ada; C language; aerospace computing; certification; integrated software; program testing; program verification; safety-critical software; software quality; Ada; C; airborne software system; certification; coding process; coverage requirement satisfaction; empirical evaluation; industry guideline; mutant type; mutation testing; safety standard; safety-critical software; software failure; software integration; software test quality; structural coverage analysis; test coverage level; test sufficiency measurement; verification life cycle; Certification; Guidelines; Industries; Safety; Software systems; Testing; Mutation; certification; safety-critical software; testing; verification;
fLanguage
English
Journal_Title
Software Engineering, IEEE Transactions on
Publisher
ieee
ISSN
0098-5589
Type
jour
DOI
10.1109/TSE.2012.56
Filename
6298894
Link To Document