Detecting Performance-Relevant Changes in Configurable Software Systems

Fuente: arXiv
Saved in:
Bibliographic Details
Main Authors: Böhm, Sebastian, Sattler, Florian, Siegmund, Norbert, Apel, Sven
Format: Preprint
Published: 2025
Subjects:
Online Access:
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1866911278765703168
author Böhm, Sebastian
Sattler, Florian
Siegmund, Norbert
Apel, Sven
author_facet Böhm, Sebastian
Sattler, Florian
Siegmund, Norbert
Apel, Sven
contents Performance is a volatile property of a software system and frequent performance profiling is required to keep the knowledge about a software system's performance behavior up to date. Repeating all performance measurements after every revision is a cost-intensive task, especially in the presence of configurability, where one has to measure multiple configurations to obtain a comprehensive picture. Configuration sampling is a common approach to control the measurement cost. However, it cannot guarantee completeness and might miss performance regressions, especially if they only affect few configurations. As an alternative to solve the cost reduction problem, we present ConfFLARE: ConfFLARE estimates whether a change potentially impacts performance by identifying data-flow interactions with performance-relevant code and extracts which software features participate in such interactions. Based on these features, we can select a subset of relevant configurations to focus performance profiling efforts on. In a study conducted on both, synthetic and real-world software systems, ConfFLARE correctly detects performance regressions in almost all cases and identifies relevant features in all but two cases, reducing the number of configurations to be tested on average by $79\%$ for synthetic and by $70\%$ for real-world regression scenarios saving hours of performance testing time.
format Preprint
id arxiv_https___arxiv_org_abs_2511_17271
institution arXiv
publishDate 2025
record_format arxiv
spellingShingle Detecting Performance-Relevant Changes in Configurable Software Systems
Böhm, Sebastian
Sattler, Florian
Siegmund, Norbert
Apel, Sven
Software Engineering
Performance is a volatile property of a software system and frequent performance profiling is required to keep the knowledge about a software system's performance behavior up to date. Repeating all performance measurements after every revision is a cost-intensive task, especially in the presence of configurability, where one has to measure multiple configurations to obtain a comprehensive picture. Configuration sampling is a common approach to control the measurement cost. However, it cannot guarantee completeness and might miss performance regressions, especially if they only affect few configurations. As an alternative to solve the cost reduction problem, we present ConfFLARE: ConfFLARE estimates whether a change potentially impacts performance by identifying data-flow interactions with performance-relevant code and extracts which software features participate in such interactions. Based on these features, we can select a subset of relevant configurations to focus performance profiling efforts on. In a study conducted on both, synthetic and real-world software systems, ConfFLARE correctly detects performance regressions in almost all cases and identifies relevant features in all but two cases, reducing the number of configurations to be tested on average by $79\%$ for synthetic and by $70\%$ for real-world regression scenarios saving hours of performance testing time.
title Detecting Performance-Relevant Changes in Configurable Software Systems
topic Software Engineering
url https://arxiv.org/abs/2511.17271