Finding Stale-Value Errors in Concurrent Programs
- Michael Burrows ,
- Rustan Leino
Concurrency and Computation: Practice & Experience |
Published by John Wiley and Sons Ltd. Chichester, UK
Concurrent programs can suffer from many types of errors, not just the well-studied problems of deadlocks and simple race conditions on variables. This paper addresses a kind of race condition that arises from reading a variable whose value is possibly out-of-date. The paper introduces a simple technique for detecting such stale values, and reports on the encouraging experience with a compile-time checker that uses the technique.