Title :
Adaptive bug isolation
Author :
Nainar, Piramanayagam Arumuga ; Liblit, Ben
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;
Conference_Titel :
Software Engineering, 2010 ACM/IEEE 32nd International Conference on
Conference_Location :
Cape Town
Print_ISBN :
978-1-60558-719-6
DOI :
10.1145/1806799.1806839