Mutation Testing in Practice: Insights from Open-Source Software Developers

Ana B. Sanchez,Jose A. Parejo,Sergio Segura,Amador Duran,Mike Papadakis,Ana B. Sánchez,José A. Parejo,Amador Durán
DOI: https://doi.org/10.1109/tse.2024.3377378
IF: 7.4
2024-01-01
IEEE Transactions on Software Engineering
Abstract:Mutation testing drives the creation and improvement of test cases by evaluating their ability to identify synthetic faults. Over the past decades, the technique has gained popularity in academic circles. In practice, however, little is known about its adoption and use. While there are some pilot studies applying mutation testing in industry, the overall usage of mutation testing among developers remains largely unexplored. To fill this gap, this paper presents the results of a qualitative study among open-source developers on the use of mutation testing. Specifically, we report the results of a survey of 104 contributors to open-source projects using a variety of mutation testing tools. The findings of our study provide helpful insights into the use of mutation testing in practice, including its main benefits and limitations. Overall, we observe a high degree of satisfaction with mutation testing across different programming languages and mutation testing tools. Developers find the technique helpful for improving the quality of test suites, detecting bugs, and improving code maintainability. Popularity, usability, and configurability emerge as key factors for the adoption of mutation tools, whereas performance stands overwhelmingly as their main limitation. These results lay the groundwork for new research contributions and tools that meet the needs of developers and boost the widespread adoption of mutation testing.
engineering, electrical & electronic,computer science, software engineering
What problem does this paper attempt to address?