Skip to main navigation Skip to search Skip to main content

Run-time detection of potential deadlocks for programs with locks, semaphores, and condition variables

  • Stony Brook University

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

52 Scopus citations

Abstract

Concurrent programs are notorious for containing errors that are difficult to reproduce and diagnose. A common kind of concurrency error is deadlock, which occurs when some threads are permanently blocked. This paper defines a runtime notion of potential deadlock in programs with locks, semaphores, and condition variables. Informally, an execution has potential for a deadlock if some feasible permutation of the execution results in a deadlock. Feasibility of a permutation is determined by ordering constraints amongst events in the execution. Previous work on run-time detection of potential deadlocks are for programs that use locks. This paper presents run-time algorithms to detect potential deadlocks in programs that use locks (block structured as well as non block structured), semaphores, and condition variables.

Original languageEnglish
Title of host publicationProceeding of the 2006 Workshop on Parallel and Distributed Systems
Subtitle of host publicationTesting and Debugging, PADTAD '06
Pages51-59
Number of pages9
DOIs
StatePublished - 2006
Event2006 Workshop on Parallel and Distributed Systems: Testing and Debugging, PADTAD '06 - Portland, ME, United States
Duration: Jul 17 2006Jul 17 2006

Publication series

NameProceeding of the 2006 Workshop on Parallel and Distributed Systems: Testing and Debugging, PADTAD '06
Volume2006

Conference

Conference2006 Workshop on Parallel and Distributed Systems: Testing and Debugging, PADTAD '06
Country/TerritoryUnited States
CityPortland, ME
Period07/17/0607/17/06

Keywords

  • Algorithms
  • Reliability

Fingerprint

Dive into the research topics of 'Run-time detection of potential deadlocks for programs with locks, semaphores, and condition variables'. Together they form a unique fingerprint.

Cite this