Back to Search Start Over

Inducing Subtle Mutations with Program Repair

Authors :
Florian Schwander
Rahul Gopinath
Andreas Zeller
Source :
ICST Workshops
Publication Year :
2021
Publisher :
Zenodo, 2021.

Abstract

Mutation analysis is the gold standard for assessing the effectiveness of a test suite to prevent bugs. It involves injecting syntactic changes in the program, generating variants (mutants) of the program under test, and checking whether the test suite detects the mutant. Practitioners often rely on these live mutants to decide what test cases to write for improving the test suite effectiveness. While a majority of such syntactic changes result in semantic differences from the original, it is possible that such a change fails to induce a corresponding semantic change in the mutant. Such equivalentmutants can lead to wastage of manual effort. We describe a novel technique that produces high-quality mutants while avoiding the generation of equivalent mutants for input processors. Our idea is to generate plausible, near correct inputs for the program, collect those rejected, and generate variants that accept these rejected strings. This technique allows us to provide an enhanced set of mutants along with newly generated test cases that kill them. We evaluate our method on eight python programs and show that our technique can generate new mutants that are both interesting for the developer and guaranteed to be mortal.

Details

Database :
OpenAIRE
Journal :
ICST Workshops
Accession number :
edsair.doi.dedup.....adf853f03936dd515175ddb65f6f876a
Full Text :
https://doi.org/10.5281/zenodo.4663100