Sciweavers

SIGSOFT
2010
ACM

A trace simplification technique for effective debugging of concurrent programs

13 years 9 months ago
A trace simplification technique for effective debugging of concurrent programs
Concurrent programs are notoriously difficult to debug. We see two main reasons for this: 1) concurrency bugs are often difficult to reproduce, 2) traces of buggy concurrent executions can be complicated by fine-grained thread interleavings. Recently, a number of efficient techniques have tried to address the former reproducibility problem; however, there is no effective solution for the latter trace simplification problem. In this paper, we formalize and prove the trace simplification problem is NP-hard. We then propose a heuristic algorithm, Tinertia, that transforms a buggy execution trace into an easier-to-understand simplified trace. Tinertia works by automatically and iteratively increasing the granularity of the thread interleavings in the buggy trace. Tinertia cannot guarantee optimal simplification; however, we empirically show that our algorithm often generates optimally simplified traces. Moreover, we show that in the simplified trace, the locations of preemptive context sw...
Nicholas Jalbert, Koushik Sen
Added 15 Feb 2011
Updated 15 Feb 2011
Type Journal
Year 2010
Where SIGSOFT
Authors Nicholas Jalbert, Koushik Sen
Comments (0)