Catch me if you can
Authors:
Open Access
- 18 October 2011
- journal article
- conference paper
- Published by Association for Computing Machinery (ACM) in ACM SIGPLAN Notices
- Vol. 46 (10) , 155-170
Abstract
Profilers help developers to find and fix performance problems. But do they find performance bugs -- performance problems that real users actually notice? In this paper we argue that -- especially in the case of interactive applications -- traditional profilers find irrelevant problems but fail to find relevant bugs. We then introduce lag hunting, an approach that identifies perceptible performance bugs by monitoring the behavior of applications deployed in the wild. The approach transparently produces a list of performance issues, and for each issue provides the developer with information that helps in finding the cause of the problem. We evaluate our approach with an experiment where we monitor an application used by 24 users for 1958 hours over the course of 3-months. We characterize the resulting 881 issues, and we find and fix the causes of a set of representative examples.Keywords
This publication has 20 references indexed in Scilit:
- Efficient remote profiling for resource-constrained devicesACM Transactions on Architecture and Code Optimization, 2006
- Low-overhead memory leak detection using adaptive statistical profilingACM SIGPLAN Notices, 2004
- Determining Causes and Severity of End-User FrustrationInternational Journal of Human–Computer Interaction, 2004
- gprofACM SIGPLAN Notices, 2004
- Fast, accurate call graph profilingSoftware: Practice and Experience, 2003
- Bug isolation via remote program samplingACM SIGPLAN Notices, 2003
- Thread-level parallelism and interactive performance of desktop applications2000
- Virtual network computingIEEE Internet Computing, 1998
- Using latency to evaluate interactive system performance1996
- Response time and display rate in human performance with computersACM Computing Surveys, 1984