Sciweavers

ATVA
2004
Springer

Using Block-Local Atomicity to Detect Stale-Value Concurrency Errors

13 years 9 months ago
Using Block-Local Atomicity to Detect Stale-Value Concurrency Errors
Data races do not cover all kinds of concurrency errors. This paper presents a data-ow-based technique to nd stale-value errors, which are not found by low-level and high-level data race algorithms. Stale values denote copies of shared data where the copy is no longer synchronized. The algorithm to detect such values works as a consistency check that does not require any assumptions or annotations of the program. It has been implemented as a static analysis in JNuke. The analysis is sound and requires only a single execution trace if implemented as a run-time checking algorithm. Being based on an analysis of Java bytecode, it encompasses the full program semantics, including arbitrarily complex expressions. Related techniques are more complex and more prone to over-reporting.
Cyrille Artho, Klaus Havelund, Armin Biere
Added 01 Jul 2010
Updated 01 Jul 2010
Type Conference
Year 2004
Where ATVA
Authors Cyrille Artho, Klaus Havelund, Armin Biere
Comments (0)