TY - JOUR
T1 - Understanding and detecting real-world performance bugs
AU - Jin, Guoliang
AU - Song, Linhai
AU - Shi, Xiaoming
AU - Scherpelz, Joel
AU - Lu, Shan
N1 - Copyright:
Copyright 2012 Elsevier B.V., All rights reserved.
PY - 2012/8
Y1 - 2012/8
N2 - 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.
AB - 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.
UR - http://www.scopus.com/inward/record.url?scp=84866407282&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=84866407282&partnerID=8YFLogxK
U2 - 10.1145/2345156.2254075
DO - 10.1145/2345156.2254075
M3 - Article
AN - SCOPUS:84866407282
SN - 1523-2867
VL - 47
SP - 77
EP - 87
JO - ACM SIGPLAN Notices
JF - ACM SIGPLAN Notices
IS - 6
ER -