Toward Speeding up Mutation Analysis by Memoizing Expensive Methods

02/23/2021
by   Ali Ghanbari, et al.
0

Mutation analysis has many applications, such as assessing the quality of test cases, fault localization, test input generation, security analysis, etc. Such applications involve running test suite against a large number of program mutants leading to poor scalability. Much research has been aimed at speeding up this process, focusing on reducing the number of mutants, the number of executed tests, or the execution time of the mutants. This paper presents a novel approach, named MeMu, for reducing the execution time of the mutants, by memoizing the most expensive methods in the system. Memoization is an optimization technique that allows bypassing the execution of expensive methods, when repeated inputs are detected. MeMu can be used in conjunction with existing acceleration techniques. We implemented MeMu on top of PITest, a well-known JVM bytecode-level mutation analysis system, and obtained, on average, an 18.15 for 12 real-world programs. These promising results and the fact that MeMu could also be used for other applications that involve repeated execution of tests (e.g., automatic program repair and regression testing), strongly support future research for improving its efficiency.

READ FULL TEXT
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
01/28/2023

Assertion Inferring Mutants

Specification inference techniques aim at (automatically) inferring a se...
research
03/04/2016

Performance Localisation

Performance becomes an issue particularly when execution cost hinders th...
research
10/31/2022

Mutation Testing Optimisations using the Clang Front-end

Mutation testing is the state-of-the-art technique for assessing the fau...
research
09/12/2018

Finding Higher Order Mutants Using Variational Execution

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

Time-based Repair for Asynchronous Wait Flaky Tests in Web Testing

Asynchronous waits are one of the most prevalent root causes of flaky te...
research
09/21/2023

Revealing Performance Issues in Server-side WebAssembly Runtimes via Differential Testing

WebAssembly (Wasm) is a bytecode format originally serving as a compilat...

Please sign up or login with your details

Forgot password? Click here to reset