Mutation Testing on An Object-Oriented Framework: An Experience Report

Context: The increasing presence of Object–Oriented (OO) programs in industrial systems is progressively drawing the attention of mutation researchers toward this paradigm. However, while the number of research contributions in this topic is plentiful, the number of empirical results is still margin...

Descripción completa

Detalles Bibliográficos
Autores: Segura Rueda, Sergio, Hierons, Robert M., Benavides Cuevas, David Felipe, Ruiz Cortés, Antonio
Tipo de recurso: artículo
Estado:Versión enviada para evaluación y publicación
Fecha de publicación:2011
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/24600
Acceso en línea:http://hdl.handle.net/11441/24600
https://doi.org/10.1016/j.infsof.2011.03.006
Access Level:acceso abierto
Palabra clave:Mutation testing
test adequacy
test data generation
automated analysis
feature models
Descripción
Sumario:Context: The increasing presence of Object–Oriented (OO) programs in industrial systems is progressively drawing the attention of mutation researchers toward this paradigm. However, while the number of research contributions in this topic is plentiful, the number of empirical results is still marginal and mostly provided by researchers rather than practitioners. Objective: This article reports our experience using mutation testing to measure the effectiveness of an automated test data generator from a user perspective. Method: In our study, we applied both traditional and class-level mutation operators to FaMa, an open source Java framework currently being used for research and commercial purposes. We also compared and contrasted our results with the data obtained from some motivating faults found in the literature and two real tools for the analysis of feature models, FaMa and SPLOT. Results: Our results are summarized in a number of lessons learned supporting previous isolated results as well as new findings that hopefully will motivate further research in the field. Conclusion: We conclude that mutation testing is an effective and affordable technique to measure the effectiveness of test mechanisms in OO systems. We found, however, several practical limitations in current tool support that should be addressed to facilitate the work of testers. We also missed specific techniques and tools to apply mutation testing at the system level.