DocumentCode
2074687
Title
Adaptive bug isolation
Author
Nainar, Piramanayagam Arumuga ; Liblit, Ben
Volume
1
fYear
2010
fDate
2-8 May 2010
Firstpage
255
Lastpage
264
Abstract
Statistical debugging uses lightweight instrumentation and statistical models to identify program behaviors that are strongly predictive of failure. However, most software is mostly correct; nearly all monitored behaviors are poor predictors of failure. We propose an adaptive monitoring strategy that mitigates the overhead associated with monitoring poor failure predictors. We begin by monitoring a small portion of the program, then automatically refine instrumentation over time to zero in on bugs. We formulate this approach as a search on the control-dependence graph of the program. We present and evaluate various heuristics that can be used for this search. We also discuss the construction of a binary instrumentor for incorporating the feedback loop into post-deployment monitoring. Performance measurements show that adaptive bug isolation yields an average performance overhead of 1% for a class of large applications, as opposed to 87% for realistic sampling-based instrumentation and 300% for complete binary instrumentation.
Keywords
program debugging; statistical analysis; system monitoring; adaptive bug isolation; adaptive monitoring strategy; control-dependence graph; post-deployment monitoring; program behaviors; statistical debugging; Computer crashes; Debugging; Instruments; Monitoring; Optimization; Radiation detectors; Software; binary instrumentation; control-dependence graphs; dynamic feedback; dyninst; heuristic search; statistical debugging;
fLanguage
English
Publisher
ieee
Conference_Titel
Software Engineering, 2010 ACM/IEEE 32nd International Conference on
Conference_Location
Cape Town
ISSN
0270-5257
Print_ISBN
978-1-60558-719-6
Type
conf
DOI
10.1145/1806799.1806839
Filename
6062093
Link To Document