Affiliation:
1. SnT, University of Luxembourg, Luxembourg
Abstract
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.
Funder
Luxembourg National Research Funds
Publisher
Association for Computing Machinery (ACM)
Reference51 articles.
1. Java Platform. [n.d.]. Standard Edition API Specification. https://docs.oracle.com/javase/7/docs/api/java/io/Reader.html. [Online; accessed 10-December-2021].
2. Mohammad Amin Alipour, August Shi, Rahul Gopinath, Darko Marinov, and Alex Groce. 2016. Evaluating non-adequate test-case reduction. In 2016 31st IEEE/ACM International Conference on Automated Software Engineering (ASE’16). IEEE, 16–26.
3. Paul Ammann, Marcio Eduardo Delamaro, and Jeff Offutt. 2014. Establishing theoretical minimal sets of mutants. In 2014 IEEE Seventh International Conference on Software Testing, Verification and Validation. IEEE.
4. Taweesup Apiwattanapong, Raúl A. Santelices, Pavan Kumar Chittimalli, Alessandro Orso, and Mary Jean Harrold. 2006. MATRIX: Maintenance-oriented testing requirements identifier and examiner. In Testing: Academia and Industry Conference-Practice And Research Techniques (TAIC PART’06), 29–31 August 2006, Windsor, United Kingdom. 137–146. 10.1109/TAIC-PART.2006.18
5. Semantics guided regression test cost reduction
Cited by
9 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Large Language Models for Equivalent Mutant Detection: How Far Are We?;Proceedings of the 33rd ACM SIGSOFT International Symposium on Software Testing and Analysis;2024-09-11
2. When simplicity meets effectiveness: Detecting code comments coherence with word embeddings and LSTM;Proceedings of the 28th International Conference on Evaluation and Assessment in Software Engineering;2024-06-18
3. A Mutation-Guided Assessment of Acceleration Approaches for Continuous Integration: An Empirical Study of YourBase;Proceedings of the 21st International Conference on Mining Software Repositories;2024-04-15
4. Leveraging Genetic Algorithms for Efficient Search-Based Higher Order Mutation Testing;Computing and Informatics;2024
5. Robustness-Enhanced Assertion Generation Method Based on Code Mutation and Attack Defense;Lecture Notes of the Institute for Computer Sciences, Social Informatics and Telecommunications Engineering;2024