ABSTRACT
Software performance has a vital impact on user experience. However, many software applications suffer from performance bugs that cause significant perfomance degradation, resource waste and poor user experience. Performance bugs exist widely in released software. For example, Mozilla developers has fixed 5-60 performance bugs reported by users every month over the past ten years [2]. The prevalence of performance bugs is inevitable because modern compilers are ill-equipped to deal with performance bugs that cross many procedure and abstraction boundaries. Worse still, performance bugs are costly to detect due to their non-fail-stop symptoms such as application crashes. Experts may make several months of e.orts to find out a couple of performance bugs that cause a software application a few hundred-millisecond delay [10].
- Wala pointer analysis. http://wala.sourceforge.net/wiki/index.php/UserGuide:PointerAnalysis.Google Scholar
- Bugzilla@Mozilla. Bugzilla keyword descriptions. https://bugzilla.mozilla.org/describekeywords.cgi.Google Scholar
- G. Jin, L. Song, X. Shi, J. Scherpelz, and S. Lu. Understanding and detecting real-world performance bugs. In ACM SIGPLAN Notices, volume 47, pages 77--88. ACM, 2012. Google ScholarDigital Library
- Y. Liu, C. Xu, and S.-C. Cheung. Characterizing and detecting performance bugs for smartphone applications. In Proceedings of the 36th International Conference on Software Engineering, pages 1013--1024. ACM, 2014. Google ScholarDigital Library
- Y. Lu, L. Shang, X. Xie, and J. Xue. An incremental points-to analysis with cfl-reachability. In Compiler Construction, pages 61--81. Springer, 2013. Google ScholarDigital Library
- A. Nistor, P.-C. Chang, C. Radoi, and S. Lu. Caramel: detecting and fixing performance problems that have non-intrusive fixes. In Proceedings of the 37th International Conference on Software Engineering-Volume 1, pages 902--912. IEEE Press, 2015. Google ScholarDigital Library
- A. Nistor, L. Song, D. Marinov, and S. Lu. Toddler: Detecting performance problems via similar memory-access patterns. In Proceedings of the 2013 International Conference on Software Engineering, pages 562--571. IEEE Press, 2013. Google ScholarDigital Library
- O. Olivo, I. Dillig, and C. Lin. Static detection of asymptotic performance bugs in collection traversals. In Proceedings of the 36th ACM SIGPLAN Conference on Programming Language Design and Implementation, pages 369--378. ACM, 2015. Google ScholarDigital Library
- D. Saha and C. Ramakrishnan. Incremental and demand-driven points-to analysis using logic programming. In Proceedings of the 7th ACM SIGPLAN international conference on Principles and practice of declarative programming, pages 117--128. ACM, 2005. Google ScholarDigital Library
- R. L. Sites. Identifying dark latency.Google Scholar
- WALA. Watson libraries for analysis. http://wala.sourceforge.net/.Google Scholar
- J.-s. Yur, B. G. Ryder, and W. A. Landi. An incremental flow-and context-sensitive pointer aliasing analysis. In Proceedings of the 21st international conference on Software engineering, pages 442--451. ACM, 1999. Google ScholarDigital Library
Instantaneous performance bug detection in IDE
Recommendations
Reproducing performance bug reports in server applications: The researchers’ experiences
Highlights- A majority of performance bugs failed to be reproduced.
- Few reproduced ...
AbstractPerformance is one of the key aspects of non-functional qualities as performance bugs can cause significant performance degradation and lead to poor user experiences. While bug reports are intended to help developers to understand and ...
Effective Bug Triage Based on Historical Bug-Fix Information
ISSRE '14: Proceedings of the 2014 IEEE 25th International Symposium on Software Reliability EngineeringFor complex and popular software, project teams could receive a large number of bug reports. It is often tedious and costly to manually assign these bug reports to developers who have the expertise to fix the bugs. Many bug triage techniques have been ...
Memories of bug fixes
SIGSOFT '06/FSE-14: Proceedings of the 14th ACM SIGSOFT international symposium on Foundations of software engineeringThe change history of a software project contains a rich collection of code changes that record previous development experience. Changes that fix bugs are especially interesting, since they record both the old buggy code and the new fixed code. This ...
Comments