NASA NTRS · 20050010122
Using Block-local Atomicity to Detect Stale-value Concurrency Errors
Abstract
Data races do not cover all kinds of concurrency errors. This paper presents a data-flow-based technique to find 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.
Keep this discovery
Explore connections, maps & timelines
Artho, Cyrille, Havelund, Klaus, Biere, Armin. 2004-01-01. Using Block-local Atomicity to Detect Stale-value Concurrency Errors. https://ntrs.nasa.gov/citations/20050010122
Cite the original work for its findings. Save a collection to share your selection of sources.