Search engine for discovering works of Art, research articles, and books related to Art and Culture
ShareThis
Javascript must be enabled to continue!

Performance evolution of configurable software systems: an empirical study

View through CrossRef
AbstractAs a software system evolves, its performance can improve or degrade over time. Performance evolution is especially delicate in configurable software systems, where performance degradation may manifest only for specific configurations, making it especially hard to spot and fix. Problem. Prior work concentrated mainly on performance-bug detection and root-cause analysis of a single version of a system. The big picture of how performance co-evolves with a system and what role configurability plays is largely unclear. Approach. In an empirical study, we investigate the relation between configurability and performance evolution. Specifically, we analyze a total of 190 releases of 12 configurable real-world systems and examine the extent to which performance changes are specific to particular configurations and whether few or many configuration options cause performance changes. We triangulate our findings by analyzing change logs and commit messages of the respective projects to pin down causes of performance changes. Results. We found that almost every release of every subject system exhibits performance changes in some of their configurations. Notably, the majority of performance changes affects only a subset of the configuration space, and most performance changes are triggered by multiple options (up to 6). In a deeper analysis, we found that a considerable number of releases mention performance changes in the change log and commits: performance changes are reported in $$45\%$$ 45 % and $$69\%$$ 69 % of the releases in the change log and the commit messages, respectively, but only a fraction report the involved configuration options.
Title: Performance evolution of configurable software systems: an empirical study
Description:
AbstractAs a software system evolves, its performance can improve or degrade over time.
Performance evolution is especially delicate in configurable software systems, where performance degradation may manifest only for specific configurations, making it especially hard to spot and fix.
Problem.
Prior work concentrated mainly on performance-bug detection and root-cause analysis of a single version of a system.
The big picture of how performance co-evolves with a system and what role configurability plays is largely unclear.
Approach.
In an empirical study, we investigate the relation between configurability and performance evolution.
Specifically, we analyze a total of 190 releases of 12 configurable real-world systems and examine the extent to which performance changes are specific to particular configurations and whether few or many configuration options cause performance changes.
We triangulate our findings by analyzing change logs and commit messages of the respective projects to pin down causes of performance changes.
Results.
We found that almost every release of every subject system exhibits performance changes in some of their configurations.
Notably, the majority of performance changes affects only a subset of the configuration space, and most performance changes are triggered by multiple options (up to 6).
In a deeper analysis, we found that a considerable number of releases mention performance changes in the change log and commits: performance changes are reported in $$45\%$$ 45 % and $$69\%$$ 69 % of the releases in the change log and the commit messages, respectively, but only a fraction report the involved configuration options.

Related Results

Optimizing performance and dependability of computer systems
Optimizing performance and dependability of computer systems
Computer systems experience failures the most frequent causes of which are software faults. After an “infant mortality” period, software failures occur in a non-deterministic manne...
Software Safety
Software Safety
Abstract This is an age of rapidly increasing technological dependence on computer‐controlled systems. Given the relative and obvious unreliability of the humble but ubiq...
Performance simulation methodologies for hardware/software co-designed processors
Performance simulation methodologies for hardware/software co-designed processors
Recently the community started looking into Hardware/Software (HW/SW) co-designed processors as potential solutions to move towards the less power consuming and the less complex de...
Modeling Techniques for Software-Intensive Systems
Modeling Techniques for Software-Intensive Systems
Software has become the driving force in the evolution of many systems, such as embedded systems (especially automotive applications), telecommunication systems, and large scale he...
Software Assurance
Software Assurance
Abstract Confidence in software quality is a rare commodity throughout all industries. Software publishers, users, and system integrators are highly distrustful of anyone...
Assessment of Chat-GPT, Gemini, and Perplexity in Principle of Research Publication: A Comparative Study
Assessment of Chat-GPT, Gemini, and Perplexity in Principle of Research Publication: A Comparative Study
Abstract Introduction Many researchers utilize artificial intelligence (AI) to aid their research endeavors. This study seeks to assess and contrast the performance of three sophis...
ELIXIR Europe on the Road to Sustainable Research Software
ELIXIR Europe on the Road to Sustainable Research Software
ELIXIR (ELIXIR Europe 2019a) is an intergovernmental organization that brings together life science resources across Europe. These resources include databases, software tools, trai...
A Study of Innovation Activities in Software Firms in Nigeria
A Study of Innovation Activities in Software Firms in Nigeria
Software firms in Nigeria were in the business of buying and selling software products about two decades ago but are now developing customized software products. Hence, this stud...

Back to Top