Sciweavers

MICRO
2010
IEEE

Tolerating Concurrency Bugs Using Transactions as Lifeguards

13 years 10 months ago
Tolerating Concurrency Bugs Using Transactions as Lifeguards
Abstract--Parallel programming is hard, because it is impractical to test all possible thread interleavings. One promising approach to improve a multi-threaded program's reliability is to constrain a production run's thread interleavings in such a way that untested interleavings are avoided as much as possible. Such an approach would avoid hard-to-test rare thread interleavings in production runs, and thereby improve correctness. However, a key challenge in realizing this goal is in determining thread interleaving constraints from the tested correct interleavings, and enforcing them efficiently in production runs. In this paper, we propose a new method to determine thread interleaving constraints from the tested interleavings in the form of lifeguard transactions (LifeTxes). An untested code region initially is contained in a single LifeTx. As the code region is tested over more thread interleavings, its original LifeTx is automatically split into multiple smaller LifeTxes so...
Jie Yu, Satish Narayanasamy
Added 14 Feb 2011
Updated 14 Feb 2011
Type Journal
Year 2010
Where MICRO
Authors Jie Yu, Satish Narayanasamy
Comments (0)