On guiding the augmentation of an automated test suite via mutation analysis

被引:0
|
作者
Ben H. Smith
Laurie Williams
机构
[1] North Carolina State University,Department of Computer Science
来源
Empirical Software Engineering | 2009年 / 14卷
关键词
Mutation testing; Line coverage; Fault injection; Empirical effectiveness; Test case augmentation; Mutation analysis; Mutation testing tool; Statement coverage; Test adequacy; Web application; Open source; Unit testing;
D O I
暂无
中图分类号
学科分类号
摘要
Mutation testing has traditionally been used as a defect injection technique to assess the effectiveness of a test suite as represented by a “mutation score.” Recently, mutation testing tools have become more efficient, and industrial usage of mutation analysis is experiencing growth. Mutation analysis entails adding or modifying test cases until the test suite is sufficient to detect as many mutants as possible and the mutation score is satisfactory. The augmented test suite resulting from mutation analysis may reveal latent faults and provides a stronger test suite to detect future errors which might be injected. Software engineers often look for guidance on how to augment their test suite using information provided by line and/or branch coverage tools. As the use of mutation analysis grows, software engineers will want to know how the emerging technique compares with and/or complements coverage analysis for guiding the augmentation of an automated test suite. Additionally, software engineers can benefit from an enhanced understanding of efficient mutation analysis techniques. To address these needs for additional information about mutation analysis, we conducted an empirical study of the use of mutation analysis on two open source projects. Our results indicate that a focused effort on increasing mutation score leads to a corresponding increase in line and branch coverage to the point that line coverage, branch coverage and mutation score reach a maximum but leave some types of code structures uncovered. Mutation analysis guides the creation of additional “common programmer error” tests beyond those written to increase line and branch coverage. We also found that 74% of our chosen set of mutation operators is useful, on average, for producing new tests. The remaining 26% of mutation operators did not produce new test cases because their mutants were immediately detected by the initial test suite, indirectly detected by test suites we added to detect other mutants, or were not able to be detected by any test.
引用
收藏
页码:341 / 369
页数:28
相关论文
共 50 条
  • [31] Faster Mutation Analysis via Equivalence Modulo States
    Wang, Bo
    Xiong, Yingfei
    Shi, Yangqingwei
    Zhang, Lu
    Hao, Dan
    PROCEEDINGS OF THE 26TH ACM SIGSOFT INTERNATIONAL SYMPOSIUM ON SOFTWARE TESTING AND ANALYSIS (ISSTA'17), 2017, : 295 - 306
  • [32] Evaluating and Improving Static Analysis Tools Via Differential Mutation Analysis
    Groce, Alex
    Ahmed, Iftekhar
    Feist, Josselin
    Grieco, Gustavo
    Gesi, Jiri
    Meidani, Mehran
    Chen, Qihong
    2021 IEEE 21ST INTERNATIONAL CONFERENCE ON SOFTWARE QUALITY, RELIABILITY AND SECURITY (QRS 2021), 2021, : 207 - 218
  • [33] Test case generation based on mutation analysis and set evolution
    Zhang, Gong-Jie
    Gong, Dun-Wei
    Yao, Xiang-Juan
    Jisuanji Xuebao/Chinese Journal of Computers, 2015, 38 (11): : 2318 - 2331
  • [34] Applying Mutation Analysis On Kernel Test Suites: An Experience Report
    Ahmed, Iftekhar
    Jensen, Carlos
    Groce, Alex
    McKenney, Paul E.
    10TH IEEE INTERNATIONAL CONFERENCE ON SOFTWARE TESTING, VERIFICATION AND VALIDATION WORKSHOPS - ICSTW 2017, 2017, : 110 - 115
  • [35] Decomposition of Deep Neural Networks into Modules via Mutation Analysis
    Ghanbari, Ali
    PROCEEDINGS OF THE 33RD ACM SIGSOFT INTERNATIONAL SYMPOSIUM ON SOFTWARE TESTING AND ANALYSIS, ISSTA 2024, 2024, : 1669 - 1681
  • [36] Automatic Test Case Generation based on Genetic Algorithm and Mutation Analysis
    Haga, Hirohide
    Suehiro, Akihisa
    2012 IEEE INTERNATIONAL CONFERENCE ON CONTROL SYSTEM, COMPUTING AND ENGINEERING (ICCSCE 2012), 2012, : 119 - 123
  • [37] An Evolutionary Approach to Test SELECT SQL Statements Using Mutation Analysis
    Moncao, A. C.
    Camilo Junior, C. G.
    Queiroz, L. T.
    Rodrigues, C. L.
    Leitao Junior, P. S.
    Vincenzi, A. M.
    Araujo, A. A.
    Dantas, A.
    de Souza, J. T.
    IEEE LATIN AMERICA TRANSACTIONS, 2017, 15 (06) : 1128 - 1136
  • [38] Predictive Mutation Analysis of Test Case Prioritization for Deep Neural Networks
    Wei, Zhengyuan
    Wang, Haipeng
    Ashraf, Imran
    Chan, W. K.
    2022 IEEE 22ND INTERNATIONAL CONFERENCE ON SOFTWARE QUALITY, RELIABILITY AND SECURITY, QRS, 2022, : 682 - 693
  • [39] Predictive Mutation Analysis via the Natural Language Channel in Source Code
    Kim, Jinhan
    Jeon, Juyoung
    Hong, Shin
    Yoo, Shin
    ACM TRANSACTIONS ON SOFTWARE ENGINEERING AND METHODOLOGY, 2022, 31 (04)
  • [40] A Statistical Test Generation Based on Mutation Analysis for Improving the Hardware Trojan Detection
    Liu, Yanjiang
    Zhao, Yiqiang
    He, Jiaji
    Xin, Ruishan
    JOURNAL OF CIRCUITS SYSTEMS AND COMPUTERS, 2020, 29 (03)