Abstract
Performance bugs are often hard to detect due to their non fail-stop symptoms. Existing debugging techniques can only detect performance bugs with known patterns (e.g., inefficient loops). The key reason behind this incapability is the lack of a general test oracle. Here, we argue that the performance (e.g., throughput, latency, execution time) expectation of configuration can serve as a strong oracle candidate for performance bug detection. First, prior work shows that most performance bugs are related to configurations. Second, the configuration change reflects common expectation on performance changes. If the actual performance is contrary to the expectation, the related code snippet is likely to be problematic. In this paper, we first conducted a comprehensive study on 173 real-world configuration-related performance bugs (CPBugs) from 12 representative software systems. We then derived seven configuration-related performance properties, which can serve as the test oracle in performance testing. Guided by the study, we designed and evaluated an automated performance testing framework, CP-DETECTOR, for detecting real-world configuration-related performance bugs. CP-DETECTOR was evaluated on 12 open-source projects. The results showed that it detected 43 out of 61 existing bugs and reported 13 new bugs.
Original language | English |
---|---|
Title of host publication | Proceedings - 2020 35th IEEE/ACM International Conference on Automated Software Engineering, ASE 2020 |
Pages | 623-634 |
Number of pages | 12 |
ISBN (Electronic) | 9781450367684 |
DOIs | |
State | Published - Sep 2020 |
Event | 35th IEEE/ACM International Conference on Automated Software Engineering, ASE 2020 - Virtual, Melbourne, Australia Duration: Sep 22 2020 → Sep 25 2020 |
Publication series
Name | Proceedings - 2020 35th IEEE/ACM International Conference on Automated Software Engineering, ASE 2020 |
---|
Conference
Conference | 35th IEEE/ACM International Conference on Automated Software Engineering, ASE 2020 |
---|---|
Country/Territory | Australia |
City | Virtual, Melbourne |
Period | 9/22/20 → 9/25/20 |
Bibliographical note
Publisher Copyright:© 2020 ACM.
Keywords
- Performance bug detection
- Performance property
- Software configuration
ASJC Scopus subject areas
- Artificial Intelligence
- Software
- Safety, Risk, Reliability and Quality