Identifying and Replicating Code Patterns Driving Performance Regressions in Software Systems
By: Denivan Campos , Luana Martins , Emanuela Guglielmi and more
Potential Business Impact:
Finds bugs that slow down computer programs.
Context: Performance regressions negatively impact execution time and memory usage of software systems. Nevertheless, there is a lack of systematic methods to evaluate the effectiveness of performance test suites. Performance mutation testing, which introduces intentional defects (mutants) to measure and enhance fault-detection capabilities, is promising but underexplored. A key challenge is understanding if generated mutants accurately reflect real-world performance issues. Goal: This study evaluates and extends mutation operators for performance testing. Its objectives include (i) collecting existing performance mutation operators, (ii) introducing new operators from real-world code changes that impact performance, and (iii) evaluating these operators on real-world systems to see if they effectively degrade performance. Method: To this aim, we will (i) review the literature to identify performance mutation operators, (ii) conduct a mining study to extract patterns of code changes linked to performance regressions, (iii) propose new mutation operators based on these patterns, and (iv) apply and evaluate the operators to assess their effectiveness in exposing performance degradations. Expected Outcomes: We aim to provide an enriched set of mutation operators for performance testing, helping developers and researchers identify harmful coding practices and design better strategies to detect and prevent performance regressions.
Similar Papers
An Empirical Study on Method-Level Performance Evolution in Open-Source Java Projects
Software Engineering
Finds how code changes affect computer speed.
Mutation Testing for Industrial Robotic Systems
Robotics
Makes robot software safer by finding hidden bugs.
Benchmarking and Revisiting Code Generation Assessment: A Mutation-Based Approach
Software Engineering
Makes AI better at writing computer code.