Affiliation:
1. University of Wisconsin-Madison, Madison, WI, USA
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 110 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.
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Cited by
187 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Extending the range of bugs that automated program repair can handle;Journal of Systems and Software;2024-03
2. DiagConfig: Configuration Diagnosis of Performance Violations in Configurable Software Systems;Proceedings of the 31st ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering;2023-11-30
3. Performance evolution of configurable software systems: an empirical study;Empirical Software Engineering;2023-11
4. BugMiner: Automating Precise Bug Dataset Construction by Code Evolution History Mining;2023 38th IEEE/ACM International Conference on Automated Software Engineering (ASE);2023-09-11
5. Early Stopping of Non-productive Performance Testing Experiments Using Measurement Mutations;2023 49th Euromicro Conference on Software Engineering and Advanced Applications (SEAA);2023-09-06