Equivalent Mutants in the Wild: Identifying and Efficiently Suppressing Equivalent Mutants for Java']Java Programs

被引:0
作者
Kushigian, Benjamin [1 ]
Kaufman, Samuel J. [1 ]
Featherman, Ryan [1 ]
Potter, Hannah [1 ]
Madadi, Ardi [1 ]
Just, Rene [1 ]
机构
[1] Univ Washington, Seattle, WA 98195 USA
来源
PROCEEDINGS OF THE 33RD ACM SIGSOFT INTERNATIONAL SYMPOSIUM ON SOFTWARE TESTING AND ANALYSIS, ISSTA 2024 | 2024年
基金
美国国家科学基金会;
关键词
Mutation Testing; Equivalent Mutants; Static Analysis; MUTATION;
D O I
10.1145/3650212.3680310
中图分类号
TP18 [人工智能理论];
学科分类号
081104 ; 0812 ; 0835 ; 1405 ;
摘要
The presence of equivalent 'mutants has long been considered a major obstacle to the widespread adoption of mutation analysis and mutation testing. This paper presents a study on the types and prevalence of equivalent mutants in real-world Java programs. We conducted a ground-truth analysis of 1,992 mutants, sampled from 7 open source Java projects. Our analysis identified 215 equivalent mutants, which we grouped based on two criteria that describe why the mutants arc equivalent and how challenging their detection is. From this analysis, we observed that (1) the median equivalent mutant rate across the 7 projects is 2.97'7,, (2) many equivalent mutants are caused by common programming patterns and their detection is not much more complex than structural pattern matching over an abstract syntax tree. Based on the findings of our ground-truth analysis, we developed Equivalent Mutant Suppression (EMS), a technique that comprises 10 efficient and targeted analyses. We evaluated EMS on 19 opensource Java projects, comparing the effectiveness and efficiency of EMS to two variants of Trivial Compiler Equivalence (ICE), the current state of the art in equivalent mutant detection. Additionally, we analyzed all 9,047 equivalent mutants reported by any tool to better understand the types and frequencies of equivalent mutants found. Overall, EMS detects 8,776 equivalent mutants within 325 seconds; ICE detects 2,124 equivalent mutants in 2,938 hours.
引用
收藏
页码:654 / 665
页数:12
相关论文
共 37 条
  • [1] Amaltano Domenico, 2022, Commun. ACM, V1, P23
  • [2] Is mutation an appropriate tool for testing experiments?
    Andrews, JH
    Briand, LC
    Labiche, Y
    [J]. ICSE 05: 27TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, PROCEEDINGS, 2005, : 402 - 411
  • [3] Baldwin Douglas, 1979, Heuristics for Determing Equivalence of Program Mutations
  • [4] What It Would Take to Use Mutation Testing in Industry-A Study at Facebook
    Beller, Moritz
    Wong, Chu-Pan
    Bader, Johannes
    Scott, Andrew
    Machalica, Mateusz
    Chandra, Satish
    Meijer, Erik
    [J]. 2021 IEEE/ACM 43RD INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING: SOFTWARE ENGINEERING IN PRACTICE (ICSE-SEIP 2021), 2021, : 268 - 277
  • [5] Revisiting the Relationship Between Fault Detection, Test Adequacy Criteria, and Test Set Size
    Chen, Yiqun T.
    Gopinath, Rahul
    Tadakamalla, Anita
    Ernst, Michael D.
    Holmes, Reid
    Fraser, Gordon
    Ammann, Paul
    Just, Rene
    [J]. 2020 35TH IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING (ASE 2020), 2020, : 237 - 249
  • [6] Coles Henry, 2024, Pitest: Real world mutation testing
  • [7] μBERT: Mutation Testing using Pre-Trained Language Models
    Degiovanni, Renzo
    Papadakis, Mike
    [J]. 2022 IEEE 15TH INTERNATIONAL CONFERENCE ON SOFTWARE TESTING, VERIFICATION AND VALIDATION WORKSHOPS (ICSTW 2022), 2022, : 160 - 169
  • [8] Mutations: How close are they to real faults?
    Gopinath, Rahul
    Jensen, Carlos
    Groce, Alex
    [J]. 2014 IEEE 25TH INTERNATIONAL SYMPOSIUM ON SOFTWARE RELIABILITY ENGINEERING (ISSRE), 2014, : 189 - 200
  • [9] The Impact of Equivalent Mutants
    Gruen, Bernhard J. M.
    Schuler, David
    Zeller, Andreas
    [J]. ICSTW 2009: IEEE INTERNATIONAL CONFERENCE ON SOFTWARE TESTING, VERIFICATION, AND VALIDATION WORKSHOPS, 2009, : 192 - 199
  • [10] Jeerson Outt A., 1994, Ph. D. Dissertation