A Combined Approach to Performance Regression Testing Resource Usage Reduction


Abstract:

Performance regression testing is often seen as a natural part of the continuous integration pipeline. The underpinning layers, such as just-in-time compilation, memory mapping, and operating system characteristics, often influence performance measurement samples. To reduce such non-deterministic factors, the usual practice includes restarting the measured workload, performing warmups, and controlling environmental variability. These need to be parameterized, among others, by run count, warm-up iterations, and iteration count. Importantly, performance testing that detects performance regressions of any scale is computationally expensive due to the need to collect samples that can detect performance changes with statistical significance. To reduce the costs of performance testing, different methods for code analysis and experiment parameterization can be used. In this work, we address the challenge of identifying the optimal parameters for performance testing. Especially in environments that use just-in-time compilation, determining the required run count is non-trivial. The run count needed depends on the workload and non-deterministic factors. To address these challenges, we have developed an approach that combines several methods for parameter selection in performance testing automation. We created a simulation where these methods work together interactively, providing a dynamic environment to evaluate their effectiveness. We evaluated three controller methods on a public dataset from the GraalVM compiler. Based on our evaluation, find that the Peass method is most efficient if the change effect size of the training set mirrors the change effect size of the test set, and that the Mutations method has constant accuracy regardless of the training set data.

Año de publicación:

2025

Keywords:

  • Experiment control
  • performance testing
  • Statistical method comparison

Fuente:

scopusscopus

Tipo de documento:

Other

Estado:

Acceso restringido

Áreas de conocimiento:

  • Ingeniería de software
  • Software
  • Software

Áreas temáticas de Dewey:

  • Programación informática, programas, datos, seguridad
  • Ciencias de la computación
  • Dirección general
Procesado con IAProcesado con IA

Objetivos de Desarrollo Sostenible:

  • ODS 12: Producción y consumo responsables
  • ODS 15: Vida de ecosistemas terrestres
  • ODS 9: Industria, innovación e infraestructura
Procesado con IAProcesado con IA