Adaptive Bug Isolation
The 32nd International Conference on Software Engineering
(ICSE 2010)
Piramanayagam Arumuga Nainar and
Ben Liblit
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 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.
Full text: pdf
Suggested Citation: BibTeX
Back to Piramanayagam's home page
|