Skip to main navigation Skip to search Skip to main content

Optimized run-time race detection and atomicity checking using partial discovered types

Research output: Contribution to conferencePaperpeer-review

59 Scopus citations

Abstract

Concurrent programs are notorious for containing errors that are difficult to reproduce and diagnose. Two common kinds of concurrency errors are data races and atomicity violations (informally, atomicity means that executing methods concurrently is equivalent to executing them serially). Several static and dynamic (run-time) analysis techniques exist to detect potential races and atomicity violations. Run-time checking may miss errors in unexecuted code and incurs significant run-time overhead. On the other hand, run-time checking generally produces fewer false alarms than static analysis; this is a significant practical advantage, since diagnosing all of the warnings from static analysis of large codebases may be prohibitively expensive.This paper explores the use of static analysis to significantly decrease the overhead of run-time checking. Our approach is based on a type system for analyzing data races and atomicity. A type discovery algorithm is used to obtain types for as much of the program as possible (complete type inference for this type system is NP-hard, and parts of the program might be untypable). Warnings from the typechecker are used to identify parts of the program from which run-time checking can safely be omitted. The approach is completely automatic, scalable to very large programs, and significantly reduces the overhead of run-time checking for data races and atomicity violations.

Original languageEnglish
Pages233-242
Number of pages10
DOIs
StatePublished - 2005
Event20th IEEE/ACM International Conference on Automated Software Engineering, ASE 2005 - Long Beach, CA, United States
Duration: Nov 7 2005Nov 11 2005

Conference

Conference20th IEEE/ACM International Conference on Automated Software Engineering, ASE 2005
Country/TerritoryUnited States
CityLong Beach, CA
Period11/7/0511/11/05

Keywords

  • Atomicity
  • Data races
  • Performance
  • Type system

Fingerprint

Dive into the research topics of 'Optimized run-time race detection and atomicity checking using partial discovered types'. Together they form a unique fingerprint.

Cite this