NASA Logo

NTRS

NTRS - NASA Technical Reports Server

Press Enter or click the Search button to begin your search.

Back to Results
Using Block-local Atomicity to Detect Stale-value Concurrency ErrorsData 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.
Document ID
20050010122
Acquisition Source
Ames Research Center
Document Type
Preprint (Draft being sent to journal)
Authors
Artho, Cyrille
(Eidgenoessische Technische Hochschule Zurich, Switzerland)
Havelund, Klaus
(NASA Ames Research Center Moffett Field, CA, United States)
Biere, Armin
(Eidgenoessische Technische Hochschule Zurich, Switzerland)
Date Acquired
September 7, 2013
Publication Date
January 1, 2004
Subject Category
Computer Programming And Software
Meeting Information
Meeting: Automated Technology for Verification and Analysis
Country: Taiwan, Province of China
Start Date: January 1, 2004
Funding Number(s)
CONTRACT_GRANT: QSS-132
Distribution Limits
Public
Copyright
Work of the US Gov. Public Use Permitted.
No Preview Available