Title:
BugRedux: Reproducing Field Failures for In-house Debugging
BugRedux: Reproducing Field Failures for In-house Debugging
Author(s)
Jin, Wei
Orso, Alessandro
Orso, Alessandro
Advisor(s)
Editor(s)
Collections
Supplementary to
Permanent Link
Abstract
When a software system fails in the field, on a user
machine, and the failure is reported to the developers, developers
in charge of debugging the failure must be able to reproduce
the failing behavior in house. Unfortunately, reproducing field
failures is a notoriously challenging task that has little support
today. Typically, developers are provided with a bug report that
contains data about the failure, such as memory dumps and,
in the best case, some additional information provided by the
user. However, this data is usually insufficient for recreating
the problem, as recently reported in a survey conducted among
developers of the Apache, Eclipse, and Mozilla projects. Even
more advanced approaches for gathering field data and help
in-house debugging tend to collect either too little information,
which results in inexpensive but often ineffective techniques, or
too much information, which makes the techniques effective but
too costly. To address this issue, we present a novel general
approach for supporting in-house debugging of field failures,
called BUGREDUX. The goal of BUGREDUX is to synthesize,
using execution data collected in the field, executions that
mimic the observed field failures. We define several instances
of BUGREDUX that collect different types of execution data and
perform, through an empirical study, a cost-benefit analysis of
the approach and its variations. In the study, we use a tool
that implements our approach to recreate 17 failures of 15 realworld
programs. Our results are promising and lead to several
findings, some of which unexpected. In particular, they show
that by collecting a suitable yet limited set of execution data the
approach can synthesize in-house executions that reproduce the
observed failures.
Sponsor
Date Issued
2011
Extent
Resource Type
Text
Resource Subtype
Technical Report