Towards differential fuzzing to reduce manual efforts to identify equivalent mutants: A preliminary study
Open Access
- 30 September 2024
- conference paper
- Published by Sociedade Brasileira de Computação
- p. 568-573
Abstract
Mutation testing is a technique that assesses the effectiveness of a set of test cases by introducing changes to the source code and checking whether the test cases can detect them. However, mutation testing is costly, and many academic efforts have been directed to improve its effectiveness and reduce costs. One of the challenges related to mutation testing remains in the equivalent mutant problem. Fuzzing, as a search technique, can find test cases that the developers might not have addressed in unit testing, and it could be used to identify equivalent mutants. In this paper, we present a preliminary study that investigates the use of differential fuzzing to identify equivalent mutants. To identify equivalent mutants, one approach is to set a timeout period after which any surviving mutants are considered equivalent. In our experiment, a 3-minute timeout yielded an accuracy rate of 97%. In conclusion, differential fuzzing can be used to identify equivalent mutants accurately at a reasonable time, especially for projects that maintain a robust seed corpus for fuzzing.Keywords
This publication has 23 references indexed in Scilit:
- Augmenting Equivalent Mutant Dataset Using Symbolic Execution2022
- Improving Effectiveness of Spectrum-based Software Fault Localization using Mutation Testing2021
- Automatic Equivalent Mutants Classification Using Abstract Syntax Tree Neural Networks2021
- A Preliminary Investigation into Using Machine Learning Algorithms to Identify Minimal and Equivalent Mutants2020
- Mutation Testing of Smart Contracts at Scale2020
- Selecting fault revealing mutantsEmpirical Software Engineering, 2019
- A machine learning approach for classification of equivalent mutantsJournal of Software: Evolution and Process, 2019
- DeepMutation++: A Mutation Testing Framework for Deep Learning Systems2019
- Optimizing Seed Inputs in Fuzzing with Machine Learning2019
- The Impact of Equivalent Mutants2009