Selecting mutation operators with a multiobjective approach

  • Authors:
  • Adam S. Banzi;Tiago Nobre;Gabriel B. Pinheiro;JoãO Carlos G. ÁRias;Aurora Pozo;Silvia Regina Vergilio

  • Affiliations:
  • Computer Science Department, Federal University of Paraná (UFPR), CP 19:081, CEP: 81531-970, Curitiba, Brazil;Computer Science Department, Federal University of Paraná (UFPR), CP 19:081, CEP: 81531-970, Curitiba, Brazil;Computer Science Department, Federal University of Paraná (UFPR), CP 19:081, CEP: 81531-970, Curitiba, Brazil;Computer Science Department, Federal University of Paraná (UFPR), CP 19:081, CEP: 81531-970, Curitiba, Brazil;Computer Science Department, Federal University of Paraná (UFPR), CP 19:081, CEP: 81531-970, Curitiba, Brazil;Computer Science Department, Federal University of Paraná (UFPR), CP 19:081, CEP: 81531-970, Curitiba, Brazil

  • Venue:
  • Expert Systems with Applications: An International Journal
  • Year:
  • 2012

Quantified Score

Hi-index 12.05

Visualization

Abstract

The mutation score is an important measure to evaluate the quality of the test cases. It is obtained by executing a lot of mutant programs generated by a set of operators. A common problem, however, is that some operators can generate unnecessary and redundant mutants. Because of this, different strategies were proposed to find a set of operators that generates a reduced number of mutants without decreasing the mutation score. However, the operator selection, in practice, may include real constraints and is dependent on diverse factors besides the number of mutants and score, such as: number of test data, execution time, number of revealed faults, number of equivalent mutants, etc. In fact this is a multi-objective problem, which does not have a single solution. Different set of operators exist for multiple objectives to be satisfied, and some restrictions can be used to choose among the existing sets. To make this choice possible, in this paper, we introduce a multi-objective strategy. We investigate three multi-objective algorithms and introduce a procedure to establish a set of operators to prioritize mutation score. Better results are obtained in comparison with traditional strategies.