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

📅 2025-12-29
📈 Citations: 0
Influential: 0
📄 PDF
🤖 AI Summary
Existing dynamic deadlock analysis techniques construct thread-local lock sets, ignoring inter-thread lock dependencies—leading to both false positives and false negatives. Method: This paper introduces the concept of “multi-threaded critical sections” and provides the first formal definition of inter-thread critical sections, thereby extending classical lock-set theory beyond its single-thread limitation. Leveraging execution traces and partial-order relations, we develop a more precise dynamic deadlock prediction model that simultaneously ensures soundness and completeness. Our enhanced framework integrates dynamic lock-set reconstruction with coordinated extensions of SPDOffline and DIRK predictors. Contribution/Results: The approach achieves significant reductions in both false positive and false negative rates—without incurring any runtime overhead. Empirical evaluation on standard benchmark suites confirms the method’s effectiveness and practicality for real-world concurrent programs.

Technology Category

Application Category

📝 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 false positives reported by the DIRK deadlock predictor and remove false negatives by extending the SPDOffline deadlock predictor. We integrate various lock set constructions with increased precision in an extension of SPDOffline. Our extensions remain sound (no false positives) but are more complete (fewer false negatives) w.r.t. SPDOffline. For an extensive standard benchmark suite we can also show that the performance is not affected.
Problem

Research questions and friction points this paper is trying to address.

Extends critical sections to multi-thread events
Reduces false positives and negatives in deadlock prediction
Improves lock set construction while maintaining efficiency
Innovation

Methods, ideas, or system contributions that make the work stand out.

Multi-thread critical sections for dynamic deadlock analysis
Partial order relations to approximate trace-based characterization
Improved lock set construction reducing false positives and negatives
🔎 Similar Papers
No similar papers found.