Leveraging Genetic Algorithms for Efficient Search-Based Higher Order Mutation Testing

keywords: Search-based mutation testing, higher order mutation testing, equivalent mutants, genetic algorithms, selection methods
Higher order mutation testing is a type of white-box testing in which the source code is changed repeatedly using two or more mutation operators to generate mutated programs. The objective of this procedure is to improve the design and execution phases of testing by allowing testers to automatically evaluate their test cases. However, generating higher order mutants is challenging due to the large number of mutants needed and the complexity of the mutation search space. To address this challenge, the problem is modeled as a search problem. The purpose of this study is to propose a genetic algorithm-based search technique for mutation testing. The expected outcome is a reduction in the number of equivalent high order mutants produced, leading to a minimum number of mutant sets that produce an adequate mutation score. The experiments were carried out and the results were compared with a random search algorithm and four different versions of the proposed genetic algorithm which use different selection methods: roulette wheel, tournament, rank, and truncation selection. The results indicate that the number of equivalent mutants and the execution cost can be reduced using the proposed genetic algorithm with respect to the selection method.
reference: Vol. 43, 2024, No. 3, pp. 709–734