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

Full description

Bibliographic Details
Authors: Cerro Cañizares, Pablo, Núñez Covarrubias, Alberto, Filgueira, Rosa, de Lara, Juan
Format: article
Publication Date:2023
Country:España
Institution:Universidad Complutense de Madrid (UCM)
Repository:Docta Complutense
Language:English
OAI Identifier:oai:docta.ucm.es:20.500.14352/105660
Online Access:https://hdl.handle.net/20.500.14352/105660
Access Level:Open access
Keyword:Mutation testing
Parallel mutation testing
Large scale systems
High performance computing
Distributed systems
Testing
Software
3304.99 Otras
Description
Summary: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%.