| | |
Summary: Isolating and Understanding Concurrency Errors
Using Reconstructed Execution Fragments
Brandon Lucia Benjamin P. Wood Luis Ceze
University of Washington, Department of Computer Science and Engineering
{blucia0a,bpw,luisceze}@cs.washington.edu
http://sampa.cs.washington.edu
Abstract
In this paper we propose Recon, a new general approach to concur-
rency debugging. Recon goes beyond just detecting bugs, it also
presents to the programmer short fragments of buggy execution
schedules that illustrate how and why bugs happened. These frag-
ments, called reconstructions, are inferred from inter-thread com-
munication surrounding the root cause of a bug and significantly
simplify the process of understanding bugs.
The key idea in Recon is to monitor executions and build graphs
that encode inter-thread communication with enough context infor-
mation to build reconstructions. Recon leverages reconstructions
built from multiple application executions and uses machine learn-
ing to identify which ones illustrate the root cause of a bug. Recon's
approach is general because it does not rely on heuristics specific to
|