Reducing Mutants with Mutant Killable Precondition

Chihiro Iida, Shingo Takada · 2017

Mutation analysis is a method for predicting the quality of test suite accurately. However, it has high computational cost due to the number of mutants that are generated. For example, the ROR (Relational Operator Replacement) mutation operator will generate seven mutants for just one relational operator. Naively applying multiple operators over the entire program can result in a high number of generated mutants. One way to reduce the number of mutants is to omit redundant mutants. In this paper, we propose an approach to reducing mutants by using mutant killable precondition to identify redundant mutants. A mutant killable precondition is a logical expression for killing a mutant. We focus on the conditional expression for control flow statements, such as if and while statements. We describe the mutant killable precondition for conditional expressions that compare numbers, e.g., x > 0. We then discuss mutants that are generated for such conditional expressions, and find the minimal set of mutants. Finally, we show the theoretical and empirical reduction rate of our approach.

Read the paper · More papers on PaperTik