Modern computer systems are highly-configurable, complicating the testing and debugging process. The sheer size of the configuration space makes the quality of software even harder to achieve. Performance is one of the key aspects of non-functional qualities, where performance bugs can cause significant performance degradation and lead to poor user experience. However, performance bugs are difficult to expose, primarily because detecting them requires specific inputs, as well as a specific execution environment (e.g., configurations). While researchers have developed techniques to analyze, quantify, detect, and fix performance bugs, we conjecture that many of these techniques may not be effective in highly-configurable systems. In this paper, we study the challenges that configurability creates for handling performance bugs. We study 113 real-world performance bugs, randomly sampled from three highly-configurable open-source projects: Apache, MySQL and Firefox. The findings of this study provide a set of lessons learned and guidance to aid practitioners and researchers to better handle performance bugs in highly-configurable software systems.
|Title of host publication||10th ACM/IEEE International Symposium on Empirical Software Engineering and Measurement, ESEM 2016|
|State||Published - Sep 8 2016|
|Event||10th ACM/IEEE International Symposium on Empirical Software Engineering and Measurement, ESEM 2016 - Ciudad Real, Spain|
Duration: Sep 8 2016 → Sep 9 2016
|Name||International Symposium on Empirical Software Engineering and Measurement|
|Conference||10th ACM/IEEE International Symposium on Empirical Software Engineering and Measurement, ESEM 2016|
|Period||9/8/16 → 9/9/16|
Bibliographical notePublisher Copyright:
© 2016 ACM.
- Empirical Study
ASJC Scopus subject areas
- Computer Science Applications