Adaptive bug isolation

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 tha...

Full description

Saved in:
Bibliographic Details
Published in:2010 ACM/IEEE 32nd International Conference on Software Engineering Vol. 1; pp. 255 - 264
Main Authors: Arumuga Nainar, Piramanayagam, Liblit, Ben
Format: Conference Proceeding
Language:English
Published: New York, NY, USA ACM 01.05.2010
IEEE
Series:ACM Conferences
Subjects:
ISBN:9781605587196, 1605587192
ISSN:0270-5257
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
Description
Summary: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.
ISBN:9781605587196
1605587192
ISSN:0270-5257
DOI:10.1145/1806799.1806839