• 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