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...

ver descrição completa

Detalhes bibliográficos
Autores: Delgado Pérez, Pedro, Segura Rueda, Sergio, Medina Bulo, Inmaculada
Formato: artículo
Estado:Versión enviada para evaluación y publicación
Fecha de publicación:2017
País:España
Recursos:Universidad de Sevilla (US)
Repositorio:idUS. Depósito de Investigación de la Universidad de Sevilla
OAI Identifier:oai:idus.us.es:11441/138655
Acesso em linha:https://hdl.handle.net/11441/138655
https://doi.org/10.1002/stvr.1630
Access Level:acceso abierto
Palavra-chave:Class mutation operators
C++
Mutation testing
Selective mutation
Quality of mutation operators
Descrição
Resumo: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.