Mutation Testing Optimisations using the Clang Front-end

10/31/2022
by   Sten Vercammen, et al.
0

Mutation testing is the state-of-the-art technique for assessing the fault detection capacity of a test suite. Unfortunately, a full mutation analysis is often prohibitively expensive. The CppCheck project for instance, demands a build time of 5.8 minutes and a test execution time of 17 seconds on our desktop computer. An unoptimised mutation analysis, for 55,000 generated mutants took 11.8 days in total, of which 4.3 days is spent on (re)compiling the project. In this paper we present a feasibility study, investigating how a number of optimisation strategies can be implemented based on the Clang front-end. These optimisation strategies allow to eliminate the compilation and execution overhead in order to support efficient mutation testing for the C language family. We provide a proof-of-concept tool that achieves a speedup of between 2x and 30x. We make a detailed analysis of the speedup induced by the optimisations, elaborate on the lessons learned and point out avenues for further improvements.

READ FULL TEXT

page 1

page 7

page 10

page 12

page 14

page 16

page 26

page 33

research
07/28/2018

Goal-oriented Mutation Testing with Focal Methods

Mutation testing is the state-of-the-art technique for assessing the fau...
research
02/23/2021

Toward Speeding up Mutation Analysis by Memoizing Expensive Methods

Mutation analysis has many applications, such as assessing the quality o...
research
09/05/2023

Contextual Predictive Mutation Testing

Mutation testing is a powerful technique for assessing and improving tes...
research
04/22/2021

Predictive Mutation Analysis via Natural Language Channel in Source Code

Mutation analysis can provide valuable insights into both System Under T...
research
09/12/2018

Finding Higher Order Mutants Using Variational Execution

Mutation testing is an effective but time consuming method for gauging t...
research
08/05/2021

TRANSMUT-SPARK: Transformation Mutation for Apache Spark

We propose TRANSMUT-Spark, a tool that automates the mutation testing pr...
research
09/07/2018

Dynamic Mutant Subsumption Analysis using LittleDarwin

Many academic studies in the field of software testing rely on mutation ...

Please sign up or login with your details

Forgot password? Click here to reset