ConLock: A Constraint-Based Approach to Dynamic Checking on Deadlocks in Multithreaded Programs

Yan Cai, Shangru Wu, W. K. Chan

Research output: Chapters, Conference Papers, Creative and Literary WorksRGC 32 - Refereed conference paper (with host publication)peer-review

56 Citations (Scopus)

Abstract

Many predictive deadlock detection techniques analyze multithreaded programs to suggest potential deadlocks (referred to as cycles or deadlock warnings). Nonetheless, many of such cycles are false positives. On checking these cycles, existing dynamic deadlock confirmation techniques may frequently encounter thrashing or result in a low confirmation probability. This paper presents a novel technique entitled ConLock to address these problems. ConLock firstly analyzes a given cycle and the execution trace that produces the cycle. It identifies a set of thread scheduling constraints based on a novel should-happen-before relation. ConLock then manipulates a confirmation run with the aim to not violate a reduced set of scheduling constraints and to trigger an occurrence of the deadlock if the cycle is a real deadlock. If the cycle is a false positive, ConLock reports scheduling violations. We have validated ConLock using a suite of real-world programs with 11 deadlocks. The result shows that among all 741 cycles reported by Magiclock, ConLock confirms all 11 deadlocks with a probability of 71%100%. On the remaining 730 cycles, ConLock reports scheduling violations on each. We have systematically sampled 87 out of the 730 cycles and confirmed that all these cycles are false positives.
Original languageEnglish
Title of host publication36th International Conference on Software Engineering (ICSE 2014)
Subtitle of host publicationProceedings
EditorsPankaj Jalote, Lionel Briand, André van der Hoek
Pages491-502
DOIs
Publication statusPublished - May 2014
Event36th International Conference on Software Engineering (ICSE 2014) - Hyderabad, India
Duration: 31 May 20147 Jun 2014

Publication series

Name
ISSN (Print)0270-5257

Conference

Conference36th International Conference on Software Engineering (ICSE 2014)
PlaceIndia
CityHyderabad
Period31/05/147/06/14

Research Keywords

  • confirmation
  • Deadlock
  • should-happen-before relation

Fingerprint

Dive into the research topics of 'ConLock: A Constraint-Based Approach to Dynamic Checking on Deadlocks in Multithreaded Programs'. Together they form a unique fingerprint.

Cite this