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

Full description

Bibliographic Details
Authors: Segura Rueda, Sergio, Hierons, Robert M., Benavides Cuevas, David Felipe, Ruiz Cortés, Antonio
Format: article
Status:Versión enviada para evaluación y publicación
Publication Date:2011
Country:España
Institution:Universidad de Sevilla (US)
Repository:idUS. Depósito de Investigación de la Universidad de Sevilla
OAI Identifier:oai:idus.us.es:11441/24600
Online Access:http://hdl.handle.net/11441/24600
https://doi.org/10.1016/j.infsof.2011.03.006
Access Level:Open access
Keyword:Mutation testing
test adequacy
test data generation
automated analysis
feature models
Description
Summary: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.