Beyond Per-Thread Lock Sets: Multi-Thread Critical Sections and Dynamic Deadlock Prediction
Martin Sulzmann

TL;DR
This paper introduces a novel approach to deadlock detection that considers multi-thread critical sections and trace-based analysis, reducing false positives and negatives without impacting performance.
Contribution
It extends traditional lock set analysis to multi-thread critical sections and provides a sound, efficient approximation method improving deadlock prediction accuracy.
Findings
Reduces false positives in deadlock detection.
Reduces false negatives in deadlock detection.
Maintains performance on standard benchmarks.
Abstract
Lock sets are commonly used for dynamic analysis of deadlocks. The standard per-thread lock set construction only considers locks acquired in the same thread, but is unaware of locks acquired in another thread. This leads to false positives and false negatives. The underlying issue is that the commonly used notion of a critical section on which the lock set construction relies ignores events from other threads. We give a trace-based characterization of critical sections that drops this restriction. Critical sections are no longer restricted to a single thread and can cover multiple threads. Such forms of critical sections exist, are natural, and correct the standard formulation. We show how to soundly approximate the trace-based characterization via partial order relations. Thus, we obtain an improved lock set construction that can still be efficiently computed and allows us to remove…
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 System Performance and Reliability · Petri Nets in System Modeling · Real-Time Systems Scheduling
