IoPV: On Inconsistent Option Performance Variations
Jinfu Chen, Zishuo Ding, Yiming Tang, Mohammed Sayagh, Heng Li, Bram Adams, Weiyi Shang
Abstract
Maintaining a good performance of a software system is a primordial task when evolving a software system. The performance regression issues are among the dominant problems that large software systems face. In addition, these large systems tend to be highly configurable, which allows users to change the behaviour of these systems by simply altering the values of certain configuration options. However, such flexibility comes with a cost. Such software systems suffer throughout their evolution from what we refer to as “Inconsistent Option Performance Variation” (IoPV ). An IoPV indicates, for a given commit, that the performance regression or improvement of different values of the same configuration option is inconsistent compared to the prior commit. For instance, a new change might not suffer from any performance regression under the default configuration (i.e., when all the options are set to their default values), while altering one option’s value manifests a regression, which we refer to as a hidden regression as it is not manifested under the default configuration. Similarly, when developers improve the performance of their systems, performance regression might be manifested under a subset of the existing configurations. Unfortunately, such hidden regressions are harmful as they can go unseen to the production environment. In this paper, we first quantify how prevalent (in)consistent performance regression or improvement is among the values of an option. In particular, we study over 803 Hadoop and 502 Cassandra commits, for which we execute a total of 4,902 and 4,197 tests, respectively, amounting to 12,536 machine hours of testing. We observe that IoPV is a common problem that is difficult to manually predict. 69% and 93% of the Hadoop and Cassandra commits have at least one configuration that hides a performance regression. Worse, most of the commits have different options or tests leading to IoPV and hiding performance regressions. Therefore, we propose a prediction model that identifies whether a given combination of commit, test, and option (CTO) manifests an IoPV. Our evaluation for different models shows that random forest is the best performing classifier, with a median AUC of 0.91 and 0.82 for Hadoop and Cassandra, respectively. Our paper defines and provides scientific evidence about the IoPV problem and its prevalence, which can be explored by future work. In addition, we provide an initial machine learning model for predicting IoPV.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext 5db0721a-5366-4fac-a3d9-69eefd9a7b76Builds on3
- Towards the use of the readily available tests from the release pipeline as performance tests: are we there yet?Zishuo Ding, Jinfu Chen, Weiyi ShangICSE 2020 · 33 citations
- Identifying Software Performance Changes Across Variants and VersionsStefan Mühlbauer, Sven Apel, Norbert SiegmundASE 2020 · 25 citations
- Statically inferring performance properties of software configurationsChi Li, Shu Wang, Henry Hoffmann, Shan LuEuroSys 2020 · 25 citations
Related papers
- An Evolutionary Study of Configuration Design and Implementation in Cloud SystemsYuanliang Zhang, Haochen He, Owolabi Legunsen, Shanshan Li et al.ICSE 2021 · 19 citations
- Analysing the Impact of Workloads on Modeling the Performance of Configurable Software SystemsStefan Mühlbauer, Florian Sattler, Christian Kaltenecker, Johannes Dorn et al.ICSE 2023 · 20 citations
- White-Box Performance-Influence Models: A Profiling and Learning ApproachMax Weber, Sven Apel, Norbert SiegmundICSE 2021 · 2 citations
- Unicorn: reasoning about configurable system performance through the lens of causalityMd Shahriar Iqbal, Rahul Krishna, Mohammad Ali Javidian, Baishakhi Ray et al.EuroSys 2022 · 60 citations
- FBDetect: Catching Tiny Performance Regressions at Hyperscale through In-Production MonitoringDong Young Yoon, Yang Wang, Miao Yu, Elvis Huang et al.SOSP 2024 · 5 citations
