Predicting Performance of Software Configurations: There is no Silver Bullet
Alexander Grebhahn (1), Norbert Siegmund (2), Sven Apel (3) ((1), University of Passau, Germany, (2) Bauhaus-University Weimar, Germany, (3), Saarland University, Germany)

TL;DR
This study compares various machine-learning techniques and sampling strategies for predicting software configuration performance, revealing no universally best approach due to system-specific factors and the no-free-lunch theorem.
Contribution
It provides a comprehensive empirical comparison of 6 machine-learning techniques and 18 sampling strategies across 6 software systems, highlighting their impact on prediction accuracy.
Findings
Learning technique and sampling strategy significantly affect accuracy.
Random forests generally outperform k-nearest neighbor.
No single method is optimal for all systems, confirming the no-free-lunch theorem.
Abstract
Many software systems offer configuration options to tailor their functionality and non-functional properties (e.g., performance). Often, users are interested in the (performance-)optimal configuration, but struggle to find it, due to missing information on influences of individual configuration options and their interactions. In the past, various supervised machine-learning techniques have been used to predict the performance of all configurations and to identify the optimal one. In the literature, there is a large number of machine-learning techniques and sampling strategies to select from. It is unclear, though, to what extent they affect prediction accuracy. We have conducted a comparative study regarding the mean prediction accuracy when predicting the performance of all configurations considering 6 machine-learning techniques, 18 sampling strategies, and 6 subject software…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Engineering Research · Software System Performance and Reliability · Software Reliability and Analysis Research
