Sound Dynamic Deadlock Prediction in Linear Time
H\"unkar Can Tun\c{c}, Umang Mathur, Andreas Pavlogiannis, Mahesh, Viswanathan

TL;DR
This paper introduces a new class of deadlocks called sync-preserving deadlocks and presents two linear-time algorithms for sound deadlock prediction, addressing the challenge of balancing soundness, precision, and efficiency.
Contribution
The work defines sync-preserving deadlocks and develops two algorithms for their sound prediction, one offline and one online, with proven linear-time performance.
Findings
Algorithms successfully predict sync-preserving deadlocks in benchmarks.
SPDOffline detects all sync-preserving deadlocks with linear time per pattern.
SPDOnline predicts deadlocks online with overall linear time.
Abstract
Deadlocks are one of the most notorious concurrency bugs, and significant research has focused on detecting them efficiently. Dynamic predictive analyses work by observing concurrent executions, and reason about alternative interleavings that can witness concurrency bugs. Such techniques offer scalability and sound bug reports, and have emerged as an effective approach for concurrency bug detection, such as data races. Effective dynamic deadlock prediction, however, has proven a challenging task, as no deadlock predictor currently meets the requirements of soundness, high-precision, and efficiency. In this paper, we first formally establish that this tradeoff is unavoidable, by showing that (a) sound and complete deadlock prediction is intractable, in general, and (b) even the seemingly simpler task of determining the presence of potential deadlocks, which often serve as unsound…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Engineering Research · Software System Performance and Reliability · Parallel Computing and Optimization Techniques
