kirancodes.me
To Proof Maintenance & Beyond!

Sherlock: scalable deadlock detection for concurrent programs

Mahdi Eslamimehr, Jens Palsberg

Abstract

We present a new technique to find real deadlocks in concurrent programs that use locks. For 4.5 million lines of Java, our technique found almost twice as many real deadlocks as four previous techniques combined. Among those, 33 deadlocks happened after more than one million computation steps, including 27 new deadlocks. We first use a known technique to find 1275 deadlock candidates and then we determine that 146 of them are real deadlocks. Our technique combines previous work on concolic execution with a new constraint-based approach that iteratively drives an execution towards a deadlock candidate.

BibTeX
@inproceedings{Eslamimehr-Palsberg:FSE14,
  author    = {Mahdi Eslamimehr and
               Jens Palsberg},
  title     = {Sherlock: scalable deadlock detection for concurrent programs},
  booktitle = {FSE},
  pages     = {353--365},
  publisher = {{ACM}},
  year      = {2014},
}

Related papers