Understanding and detecting real-world performance bugs

Guoliang Jin, Linhai Song, Xiaoming Shi, Joel Scherpelz, Shan Lu

Research output: Contribution to journalArticlepeer-review

139 Scopus citations

Abstract

Developers frequently use inefficient code sequences that could be fixed by simple patches. These inefficient code sequences can cause significant performance degradation and resource waste, referred to as performance bugs. Meager increases in single threaded performance in the multi-core era and increasing emphasis on energy efficiency call for more effort in tackling performance bugs. This paper conducts a comprehensive study of 109 real-world performance bugs that are randomly sampled from five representative software suites (Apache, Chrome, GCC, Mozilla, and MySQL). The findings of this study provide guidance for future work to avoid, expose, detect, and fix performance bugs. Guided by our characteristics study, efficiency rules are extracted from 25 patches and are used to detect performance bugs. 332 previously unknown performance problems are found in the latest versions of MySQL, Apache, and Mozilla applications, including 219 performance problems found by applying rules across applications.

Original languageEnglish (US)
Pages (from-to)77-87
Number of pages11
JournalACM SIGPLAN Notices
Volume47
Issue number6
DOIs
StatePublished - Aug 2012

All Science Journal Classification (ASJC) codes

  • General Computer Science

Fingerprint

Dive into the research topics of 'Understanding and detecting real-world performance bugs'. Together they form a unique fingerprint.

Cite this