Parallel mutation testing for large scale systems

Mutation testing is a valuable technique for measuring the quality of test suites in terms of detecting faults. However, one of its main drawbacks is its high computational cost. For this purpose, several approaches have been recently proposed to speed-up the mutation testing process by exploiting c...

Descripción completa

Detalles Bibliográficos
Autores: Cerro Cañizares, Pablo, Núñez Covarrubias, Alberto, Filgueira, Rosa, de Lara, Juan
Tipo de recurso: artículo
Fecha de publicación:2023
País:España
Institución:Universidad Complutense de Madrid (UCM)
Repositorio:Docta Complutense
Idioma:inglés
OAI Identifier:oai:docta.ucm.es:20.500.14352/105660
Acceso en línea:https://hdl.handle.net/20.500.14352/105660
Access Level:acceso abierto
Palabra clave:Mutation testing
Parallel mutation testing
Large scale systems
High performance computing
Distributed systems
Testing
Software
3304.99 Otras
Descripción
Sumario:Mutation testing is a valuable technique for measuring the quality of test suites in terms of detecting faults. However, one of its main drawbacks is its high computational cost. For this purpose, several approaches have been recently proposed to speed-up the mutation testing process by exploiting computational resources in distributed systems. However, bottlenecks have been detected when those techniques are applied in large-scale systems. This work improves the performance of mutation testing using large-scale systems by proposing a new load distribution algorithm, and parallelising different steps of the process. To demonstrate the benefits of our approach, we report on a thorough empirical evaluation, which analyses and compares our proposal with existing solutions executed in large-scale systems. The results show that our proposal outperforms the state-of-the-art distribution algorithms up to 35% in three different scenarios, reaching a reduction of the execution time of—at best—up to 99.66%.