Publication | Closed Access
An Empirical Study on Performance Bugs for Highly Configurable Software Systems
76
Citations
32
References
2016
Year
Unknown Venue
Software MaintenanceEngineeringComputer ArchitectureSoftware EngineeringSoftware AnalysisPerformance IssueSoftware Performance TestingModern Computer SystemsSystems EngineeringFuzzingPerformance EngineeringConfiguration SpacePerformance BugsSoftware QualityEmpirical StudyProfiling ToolComputer EngineeringComputer ScienceDebuggerStatic Program AnalysisSoftware DesignProgram AnalysisSoftware TestingPerformance PortabilitySystem Software
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.
| Year | Citations | |
|---|---|---|
Page 1
Page 1