Assessment of C++ object-oriented mutation operators: A selective mutation approach

Mutation testing is an effective but costly testing technique. Several studies have observed that some mutants can be redundant and therefore removed without affecting its effectiveness. Sim ilarly, some mutants may be more effective than others in guiding the tester on the creation of high-quality...

Descripción completa

Detalles Bibliográficos
Autores: Delgado Pérez, Pedro, Segura Rueda, Sergio, Medina Bulo, Inmaculada
Tipo de recurso: artículo
Estado:Versión enviada para evaluación y publicación
Fecha de publicación:2017
País:España
Institución:Universidad de Sevilla (US)
Repositorio:idUS. Depósito de Investigación de la Universidad de Sevilla
OAI Identifier:oai:idus.us.es:11441/138655
Acceso en línea:https://hdl.handle.net/11441/138655
https://doi.org/10.1002/stvr.1630
Access Level:acceso abierto
Palabra clave:Class mutation operators
C++
Mutation testing
Selective mutation
Quality of mutation operators
Descripción
Sumario:Mutation testing is an effective but costly testing technique. Several studies have observed that some mutants can be redundant and therefore removed without affecting its effectiveness. Sim ilarly, some mutants may be more effective than others in guiding the tester on the creation of high-quality test cases. On the basis of these findings, we present an assessment of C++ class mutation operators by classifying them into 2 rankings: the first ranking sorts the operators on the basis of their degree of redundancy and the second regarding the quality of the tests they help to design. Both rankings are used in a selective mutation study analysing the trade-off between the reduction achieved and the effectiveness when using a subset of mutants. Experimental results consistently show that leveraging the operators at the top of the 2 rankings, which are different, lead to a significant reduction in the number of mutants with a minimum loss of effectiveness.