Article (Scientific journals)
Mutation Testing in Evolving Systems: Studying the relevance of mutants to code evolution
Ojdanic, Milos; Soremekun, Ezekiel; Degiovanni, Renzo Gaston et al.
2022In ACM Transactions on Software Engineering and Methodology
Peer Reviewed verified by ORBi
 

Files


Full Text
mutation_testing_in_evolving_systems.pdf
Publisher postprint (2.81 MB)
Download

All documents in ORBilu are protected by a user license.

Send to



Details



Keywords :
Software Testing; Mutation Testing; Continuous Integration; Evolving-Systems
Abstract :
[en] Context: When software evolves, opportunities for introducing faults appear. Therefore, it is important to test the evolved program behaviors during each evolution cycle. However, while software evolves, its complexity is also evolving, introducing challenges to the testing process. To deal with this issue, testing techniques should be adapted to target the effect of the program changes instead of the entire program functionality. To this end, commit-aware mutation testing, a powerful testing technique, has been proposed. Unfortunately, commit-aware mutation testing is challenging due to the complex program semantics involved. Hence, it is pertinent to understand the characteristics, predictability, and potential of the technique. Objective: We conduct an exploratory study to investigate the properties of commit-relevant mutants, i.e., the test elements of commit-aware mutation testing, by proposing a general definition and an experimental approach to identify them. We thus, aim at investigating the prevalence, location, and comparative advantages of commit-aware mutation testing over time (i.e., the program evolution). We also investigate the predictive power of several commit-related features in identifying and selecting commit-relevant mutants to understand the essential properties for its best-effort application case. Method: Our commit-relevant definition relies on the notion of observational slicing, approximated by higher-order mutation. Specifically, our approach utilizes the impact of mutants, effects of one mutant on another in capturing and analyzing the implicit interactions between the changed and unchanged code parts. The study analyses millions of mutants (over 10 million), 288 commits, five (5) different open-source software projects involving over 68,213 CPU days of computation and sets a ground truth where we perform our analysis. Results: Our analysis shows that commit-relevant mutants are located mainly outside of program commit change (81%), suggesting a limitation in previous work. We also note that effective selection of commit-relevant mutants has the potential of reducing the number of mutants by up to 93%. In addition, we demonstrate that commit relevant mutation testing is significantly more effective and efficient than state-of-the-art baselines, i.e., random mutant selection and analysis of only mutants within the program change. In our analysis of the predictive power of mutants and commit-related features (e.g., number of mutants within a change, mutant type, and commit size) in predicting commit-relevant mutants, we found that most proxy features do not reliably predict commit-relevant mutants. Conclusion: This empirical study highlights the properties of commit-relevant mutants and demonstrates the importance of identifying and selecting commit-relevant mutants when testing evolving software systems.
Disciplines :
Computer science
Author, co-author :
Ojdanic, Milos  ;  University of Luxembourg > Interdisciplinary Centre for Security, Reliability and Trust (SNT) > SerVal
Soremekun, Ezekiel ;  University of Luxembourg > Interdisciplinary Centre for Security, Reliability and Trust (SNT) > SerVal
Degiovanni, Renzo Gaston ;  University of Luxembourg > Interdisciplinary Centre for Security, Reliability and Trust (SNT) > SerVal
Papadakis, Mike ;  University of Luxembourg > Faculty of Science, Technology and Medicine (FSTM) > Department of Computer Science (DCS)
Le Traon, Yves ;  University of Luxembourg > Interdisciplinary Centre for Security, Reliability and Trust (SNT) > SerVal
External co-authors :
no
Language :
English
Title :
Mutation Testing in Evolving Systems: Studying the relevance of mutants to code evolution
Publication date :
11 May 2022
Journal title :
ACM Transactions on Software Engineering and Methodology
ISSN :
1049-331X
Publisher :
Association for Computing Machinery (ACM), United States
Peer reviewed :
Peer Reviewed verified by ORBi
FnR Project :
FNR11686509 - Continuous Development With Mutation Analysis And Testing, 2017 (01/09/2018-31/08/2021) - Michail Papadakis
Available on ORBilu :
since 16 January 2023

Statistics


Number of views
62 (1 by Unilu)
Number of downloads
17 (0 by Unilu)

Scopus citations®
 
3
Scopus citations®
without self-citations
2
OpenCitations
 
2
WoS citations
 
4

Bibliography


Similar publications



Contact ORBilu