Response time and display rate in human performance with computers
ACM Computing Surveys (CSUR)
Designing the user interface: strategies for effective human-computer interaction
Designing the user interface: strategies for effective human-computer interaction
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Using latency to evaluate interactive system performance
OSDI '96 Proceedings of the second USENIX symposium on Operating systems design and implementation
Thread-level parallelism and interactive performance of desktop applications
ASPLOS IX Proceedings of the ninth international conference on Architectural support for programming languages and operating systems
IEEE Internet Computing
CHI '01 Extended Abstracts on Human Factors in Computing Systems
ECOOP '01 Proceedings of the 15th European Conference on Object-Oriented Programming
Bug isolation via remote program sampling
PLDI '03 Proceedings of the ACM SIGPLAN 2003 conference on Programming language design and implementation
gprof: a call graph execution profiler
ACM SIGPLAN Notices - Best of PLDI 1979-1999
Fast, accurate call graph profiling
Software—Practice & Experience
Low-overhead memory leak detection using adaptive statistical profiling
ASPLOS XI Proceedings of the 11th international conference on Architectural support for programming languages and operating systems
Crash Data Collection: A Windows Case Study
DSN '05 Proceedings of the 2005 International Conference on Dependable Systems and Networks
Efficient remote profiling for resource-constrained devices
ACM Transactions on Architecture and Code Optimization (TACO)
Interactive performance measurement with VNCplay
ATEC '05 Proceedings of the annual conference on USENIX Annual Technical Conference
Dynamic instrumentation of production systems
ATEC '04 Proceedings of the annual conference on USENIX Annual Technical Conference
Measuring the performance of interactive applications with listener latency profiling
Proceedings of the 6th international symposium on Principles and practice of programming in Java
Solve & evaluate with informa: a Java-based classroom response system for teaching Java
PPPJ '09 Proceedings of the 7th International Conference on Principles and Practice of Programming in Java
Debugging in the (very) large: ten years of implementation and experience
Proceedings of the ACM SIGOPS 22nd symposium on Operating systems principles
Evaluating the accuracy of Java profilers
PLDI '10 Proceedings of the 2010 ACM SIGPLAN conference on Programming language design and implementation
Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 1
Code bubbles: rethinking the user interface paradigm of integrated development environments
Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 1
Proceedings of the 5th international symposium on Software visualization
Understanding and detecting real-world performance bugs
Proceedings of the 33rd ACM SIGPLAN conference on Programming Language Design and Implementation
Optimization coaching: optimizers learn to communicate with programmers
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
AppInsight: mobile app performance monitoring in the wild
OSDI'12 Proceedings of the 10th USENIX conference on Operating Systems Design and Implementation
Automated root cause isolation of performance regressions during software development
Proceedings of the 4th ACM/SPEC International Conference on Performance Engineering
Toddler: detecting performance problems via similar memory-access patterns
Proceedings of the 2013 International Conference on Software Engineering
Family-based performance measurement
Proceedings of the 12th international conference on Generative programming: concepts & experiences
Comprehending performance from real-world execution traces: a device-driver case
Proceedings of the 19th international conference on Architectural support for programming languages and operating systems
Panappticon: event-based tracing to measure mobile application and platform performance
Proceedings of the Ninth IEEE/ACM/IFIP International Conference on Hardware/Software Codesign and System Synthesis
Performance optimization of deployed software-as-a-service applications
Journal of Systems and Software
Hi-index | 0.00 |
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.