CP-Detector: Using Configuration-related Performance Properties to Expose Performance Bugs

Haochen He, Zhouyang Jia, Shanshan Li, Erci Xu, Tingting Yu, Yue Yu, Ji Wang, Xiangke Liao

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

7 Scopus citations


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 languageEnglish
Title of host publicationProceedings - 2020 35th IEEE/ACM International Conference on Automated Software Engineering, ASE 2020
Number of pages12
ISBN (Electronic)9781450367684
StatePublished - Sep 2020
Event35th IEEE/ACM International Conference on Automated Software Engineering, ASE 2020 - Virtual, Melbourne, Australia
Duration: Sep 22 2020Sep 25 2020

Publication series

NameProceedings - 2020 35th IEEE/ACM International Conference on Automated Software Engineering, ASE 2020


Conference35th IEEE/ACM International Conference on Automated Software Engineering, ASE 2020
CityVirtual, Melbourne

Bibliographical note

Funding Information:
problems [50], architectural impacts among metho26d]s, p[erfor-This research was supported by National Key R&D Program of manceanti-pattern6s5[]andtradeoffs21[]inORMapplications. China (Project No.2017YFB1001802); National Natural Science Foun-These works are effective in detecting certain types of performancedation of China (Project No.61872373, 61702534 and 61872375). problems, which are different to the configuration-handling per- formance bugs detected CbyP-Detector. Recent short position REFERENCES papers [37, 53, 54] have proposed a proof concept that using meta-[1] Categoriesandsubcategoriesincomputersciehntctep.s://en.wikipedia.org/wiki/ morphic testing to expose performance bug. While they did not[2] FitCDFfornormaldistributiohnt.tps://en.wikipedia.org/wiki/Cumulative_Category:Computin.g proposed an automatic approach or evaluate on large scale softwaredistribution_funct.ion systems. The difference between our work and metamorphic testing[4]Statisticalhypothesis[3] spaCy.https://spacy.i.o is that they typically use multiple test executions to infer metamor-_hypothesis_testin. g phic relations, and verify those relations on follow-up tests. W[h5]ilIeEEE standard glossary of software engineering terminIoElEoEgSyt.d 610.12 we conclude performance properties from bug study and generate[6]Linuxperftoolh.ttps://perf.wiki.kernel.org/index.php/Main_,P2a0g1e5.(1990). them from expert knowledge (e.g., user manuals). [7] httpd33605,Acc.:2020h. ttps://bz.apache.org/bugzilla/show_bug.cgi?id=3.3605 [8] httpd42065,Acc.:2020h.ttps://bz.apache.org/bugzilla/show_bug.cgi?id=4.2065 HotspotsDetection. Someworksfocusonpinpointinghotspots [9] httpd50002,Acc.:2020h.ttps://bz.apache.org/bugzilla/show_bug.cgi?id=5.0002 in programs via profiling: Per6f],[YourKit3[1]. Similarly, several [11]GCC17520,Accessed:2020.https://gcc.gnu.org/bugzilla/show_bug.cgi?id=1.7520[10] httpd58037,Acc.:2020h. ttps://bz.apache.org/bugzilla/show_bug.cgi?id=5.8037 following works address on generating the most time-consuming[12] GCC94957,Accessed:2020.https://gcc.gnu.org/bugzilla/show_bug.cgi?id=9.4957 workloads via profilers to help expose performance bottle2n8,ecks [[13] MariaDB 5802, Accessed: 2020h. ttps://jira.mariadb.org/browse/MDEV-5.802

Publisher Copyright:
© 2020 ACM.


  • Performance bug detection
  • Performance property
  • Software configuration

ASJC Scopus subject areas

  • Artificial Intelligence
  • Software
  • Safety, Risk, Reliability and Quality


Dive into the research topics of 'CP-Detector: Using Configuration-related Performance Properties to Expose Performance Bugs'. Together they form a unique fingerprint.

Cite this