SEFeb 23, 2021

Toward Speeding up Mutation Analysis by Memoizing Expensive Methods

arXiv:2102.11559v1
Originality Incremental advance
AI Analysis

This work addresses the slow execution problem in mutation analysis for software testing applications, offering an incremental improvement that can be combined with existing techniques.

The paper tackles the scalability issue in mutation analysis by introducing MeMu, a memoization-based approach that reduces execution time by caching expensive method calls, achieving an average 18.15% speed-up over PITest on 12 real-world programs.

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% speed-up over PITest, in the execution time of the mutants 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.

Code Implementations1 repo
Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes