Growing a Reduced Set of Mutation Operators
Márcio Eduardo Delamaro, Lin Deng, Nan Li, Vinícius H. S. Durelli, Jeff Offutt
Abstract
Márcio Eduardo Delamaro, Lin Deng, Nan Li, Vinícius H. S. Durelli, Jeff Offutt
Abstract
Although widely considered to be quite powerful, mutation testing is also known for its expense. Three fundamental (and related) sources for much of the expense are (1) the number of mutants, (2) the number of equivalent mutants, and (3) the number of test cases needed to kill the mutants. Recent results have shown that mutation systems create a significant number of mutants that are killed by the same tests. These mutants can be considered to be “redundant,” in the sense that if N mutants are killed by the same test, only one of those mutants is truly needed. Selective mutation, one-op mutation, and random mutant selection are ways to choose a “reduced” set of mutation operators that will help testers design tests that are almost as effective, as measured by running the tests against the complete set of mutants. This paper presents a novel procedure for choosing a reduced set of mutation operators based on a “growth model.” The procedure uses a greedy approach to successively choose the mutation operator that increases the overall mutation score the most, adding mutation operators to the set until the tests that kill all mutants from the reduced set kill all mutants from the complete set of mutants.
OpenAlex reports 12 citations for this work. Citation counts describe recorded attention and do not establish research quality.
A contribution statement is not available in the OpenAlex record.
Method details are not available in the OpenAlex metadata.
Findings are not separately available in the OpenAlex metadata.
Limitations are not available in the OpenAlex metadata.
Application details are not available in the OpenAlex metadata.
Although widely considered to be quite powerful, mutation testing is also known for its expense. Three fundamental (and related) sources for much of the expense are (1) the number of mutants, (2) the number of equivalent mutants, and (3) the number of test cases needed to kill the mutants. Recent results have shown that mutation systems create a significant number of mutants that are killed by the same tests. These mutants can be considered to be “redundant,” in the sense that if N mutants are killed by the same test, only one of those mutants is truly needed. Selective mutation, one-op mutation, and random mutant selection are ways to choose a “reduced” set of mutation operators that will help testers design tests that are almost as effective, as measured by running the tests against the complete set of mutants. This paper presents a novel procedure for choosing a reduced set of mutation operators based on a “growth model.” The procedure uses a greedy approach to successively choose the mutation operator that increases the overall mutation score the most, adding mutation operators to the set until the tests that kill all mutants from the reduced set kill all mutants from the complete set of mutants.
Key concepts: Set (abstract data type), Mutation, Computer science, Genetics, Biology, Gene, Programming language