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

  • Authors:
  • Rahul Agarwal;Scott D. Stoller

  • Affiliations:
  • SUNY at Stony Brook, Stony Brook, NY;SUNY at Stony Brook, Stony Brook, NY

  • Venue:
  • Proceedings of the 2006 workshop on Parallel and distributed systems: testing and debugging
  • Year:
  • 2006

Quantified Score

Hi-index 0.00

Visualization

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 run-time 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.