Chapter Six - Mutation Testing Advances: An Analysis and Survey
By Mike Papadakis, Marinos Kintis, Jie M. Zhang, Yue Jia, Yves Le Traon, Mark Harman. Advances in Computing, 2019
515 citations recorded by the source corpus.
Mutation testing realizes the idea of using artificial defects to support testing activities. Mutation is typically used as a way to evaluate the adequacy of test suites, to guide the generation of test cases, and to support experimentation. Mutation has reached a maturity phase and gradually gains popularity both in academia and in industry. This chapter presents a survey of recent advances, over the past decade, related to the fundamental problems of mutation testing and sets out the challenges and open problems for the future development of the method. It also collects advices on best practices related to the use of mutation in empirical studies of software testing. Thus, giving the reader a “mini-handbook”-style roadmap for the application of mutation testing as experimental methodology.
Subfields: Hardware and Architecture, Software
View Paper: https://www.semanticscholar.org/paper/d461ab9482b7fb5eadd7e6cd2c6dffced8ede8b8
How researchers see this paper
The researchers whose trusted networks rank it highest, strongest advocate first. Every researcher gets a different order.
In Hardware and Architecture
- Guillaume Lample
- Chun Xia
- Mark Harman
- Lingming Zhang
- Yinlin Deng
- Soren Dunn
- Gabriel Recchia
- Gary F. Marcus
In Software
- Yinlin Deng
- Lingming Zhang
- Chun Xia
- Soren Dunn
- Gabriel Synnaeve
- Baptiste Rozière
- Jie M. Zhang
- Mark Harman
Citations in the corpus
- Leveraging Automated Unit Tests for Unsupervised Code Translation (2021, background): “A mutant is a version of the program into which a fault is deliberately inserted, thereby assessing the test suite’s fault detection ability (Jia & Harman, 2011; Papadakis et al., 2019).”
- Agentless: Demystifying LLM-based Software Engineering Agents (2024, background): “MBFL further improves upon that to additionally consider the impact of each source code location on the test outcomes (measured using mutation testing [76]).”
- Large Language Models for Software Engineering: Survey and Open Problems (2023, unknown): “Mutation testing is a widely-studied technique for assessing the adequacy of software test suites [118], [119], in which synthetic faults (called ‘mutants’), are deliberately injected in order to assess test adequacy.”