Static detection of atomicity violations in object-oriented programs

46Citations
Citations of this article
71Readers
Mendeley users who have this article in their library.

Abstract

Violations of atomicity are possible sources of errors in parallel programs. A violation occurs if the effect of a method depends on the execution of concurrent threads that operate on the same shared data. Such unwanted thread interference can occur even if access to shared data is ordered through synchronization, hence common techniques for data race detection are not able to find such errors. We have developed a static analysis that infers atomicity constraints and identifies potential violations. The analysis is based on an abstract model of threads and data. A symbolic execution tracks object locking and access and provides information that is finally used to determine potential violations of atomicity. We provide a detailed evaluation of our algorithm for several Java programs. Although the algorithm does not guarantee to find all violations of atomicity, our experience shows that the method is efficient and effective in determining several known synchronization problems in a number of applications and the Java library. The problem of overreporting that is commonly encountered due to conservatism in static analyses is moderate.

References Powered by Scopus

Extended static checking for Java

938Citations
N/AReaders
Get full text

Reduction: A Method of Proving Properties of Parallel Programs

352Citations
N/AReaders
Get full text

A type and effect system for atomicity

218Citations
N/AReaders
Get full text

Cited by Powered by Scopus

Associating synchronization constraints with data in an object-oriented language

154Citations
N/AReaders
Get full text

Runtime analysis of atomicity for multithreaded programs

138Citations
N/AReaders
Get full text

Accurate and efficient runtime detection of atomicity errors in concurrent programs

90Citations
N/AReaders
Get full text

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Cite

CITATION STYLE

APA

Von Praun, C., & Gross, T. (2004). Static detection of atomicity violations in object-oriented programs. In Journal of Object Technology (Vol. 3, pp. 103–122). Journal of Object Technology. https://doi.org/10.5381/jot.2004.3.6.a5

Readers' Seniority

Tooltip

PhD / Post grad / Masters / Doc 48

87%

Researcher 6

11%

Professor / Associate Prof. 1

2%

Readers' Discipline

Tooltip

Computer Science 32

60%

Engineering 16

30%

Earth and Planetary Sciences 3

6%

Decision Sciences 2

4%

Save time finding and organizing research with Mendeley

Sign up for free