Deadlocks: From exhibiting to healing

Yarden Nir-Buchbinder*, Rachel Tzoref, Shmuel Ur

*Corresponding author for this work

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


Deadlocks are possibly the best known bug pattern in computer systems in general; certainly they are the best known in concurrent programming. Numerous articles, some dating back more than 40 years, have been dedicated to the questions of how to design deadlock free programs, how to statically or dynamically detect possible deadlocks, how to avoid deadlocks at runtime, and how to resolve deadlocks once they happen. We start the paper with an investigation on how to exhibit potential deadlocks. Exhibiting deadlocks is very useful in testing, as verifying if a potential deadlock can actually happen is a time-consuming debugging activity. There was recently some very interesting research in this direction; however, we believe our approach is more practical, has no scaling issues, and in fact is already industry-ready. The second contribution of our paper is in the area of healing multi-threaded programs so they do not get into deadlocks. This is an entirely new approach, which is very different from the approaches in the literature that were meant for multi-process scenarios and are not suitable (and indeed not used) in multithreaded programming. While the basic ideas are fairly simple, the details here are very important as any mistake is liable to actually create new deadlocks. The paper describes the basic healing idea and its limitations, the pitfalls and how to overcome them, and experimental results.

Original languageEnglish
Title of host publicationRuntime Verification - 8th International Workshop, RV 2008, Selected Papers
PublisherSpringer Verlag
Number of pages15
ISBN (Print)354089246X, 9783540892465
StatePublished - 2008
Externally publishedYes
Event8th International Workshop on Runtime Verification, RV 2008 - Budapest, Hungary
Duration: 30 Mar 200830 Mar 2008

Publication series

NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume5289 LNCS
ISSN (Print)0302-9743
ISSN (Electronic)1611-3349


Conference8th International Workshop on Runtime Verification, RV 2008


Dive into the research topics of 'Deadlocks: From exhibiting to healing'. Together they form a unique fingerprint.

Cite this