Skip to main navigation Skip to search Skip to main content

Automated type-based analysis of data races and atomicity

  • Stony Brook University

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

90 Scopus citations

Abstract

Concurrent programs are notorious for containing errors that are difficult to reproduce and diagnose at run-time. This motivated the development of type systems that statically ensure the absence of some common kinds of concurrent programming errors including data races and atomicity violations. A method is atomic if every execution of the concurrent program is equivalent to an execution in which the atomic method is executed without being interleaved with other concurrently executed methods. Atomicity is a common correctness requirement in concurrent programs; atomicity violations may indicate incorrect synchronization. This paper presents Extended Parameterized Atomic Java (EPAJ), a type system for specifying and verifying atomicity in Java programs. EPAJ combines Flanagan and Qadeer's atomicity types [11] with a new and significantly more expressive type system for analyzing data races, called Extended Parameterized Race-Free Java (EPRFJ), allowing a more accurate analysis of atomicity. The paper also presents a type discovery algorithm to automatically obtain EPRFJ types, and a static interprocedural type inference algorithm that, given EPRFJ types, infers atomicity types. These algorithms can be incorporated into testing and debugging tools, benefiting users who know nothing about type systems. We report our experience with a prototype implementation.

Original languageEnglish
Title of host publicationProceedings of the 2005 ACM SIGPLAN Symposium on Principles and Practise of Parallel Programming, PROPP 05
PublisherAssociation for Computing Machinery
Pages83-94
Number of pages12
ISBN (Electronic)1595930809, 9781595930804
DOIs
StatePublished - Jun 15 2005
Event10th ACM SIGPLAN symposium on Principles and practice of parallel programming, PPoPP 2005 - Chicago, IL, United States
Duration: Jun 15 2005Jun 17 2005

Publication series

NameProceedings of the ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPOPP

Conference

Conference10th ACM SIGPLAN symposium on Principles and practice of parallel programming, PPoPP 2005
Country/TerritoryUnited States
CityChicago, IL
Period06/15/0506/17/05

Keywords

  • Atomicity
  • Data Races
  • Type Inference
  • Type System

Fingerprint

Dive into the research topics of 'Automated type-based analysis of data races and atomicity'. Together they form a unique fingerprint.

Cite this