Low-overhead deadlock prediction
Yan Cai, Ruijie Meng, Jens Palsberg
Abstract
Multithreaded programs can have deadlocks, even after deployment, so users may want to run deadlock tools on deployed programs. However, current deadlock predictors such as MagicLock and UnDead have large overheads that make them impractical for enduser deployment and confine their use to development time. Such overhead stems from running an exponential-time algorithm on a large execution trace. In this paper, we present the first lowoverhead deadlock predictor, called AirLock, that is fit for both in-house testing and deployed programs. AirLock maintains a small predictive lock reachability graph, searches the graph for cycles, and runs an exponential-time algorithm only for each cycle. This approach lets AirLock find the same deadlocks as MagicLock and UnDead but with much less overhead because the number of cycles is small in practice. Our experiments with real-world benchmarks show that the average time overhead of AirLock is 3.5%, which is three orders of magnitude less than that of MagicLock and UnDead. AirLock's low overhead makes it suitable for use with fuzz testers like AFL and on-the-fly after deployment. CCS CONCEPTS • Software and its engineering → Deadlocks.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext 5bf464ac-5baf-4287-930e-3e4b2ab55e41Cited by top-tier papers7
- Peahen: fast and precise static deadlock detection via context reductionYuandao Cai, Chengfeng Ye, Qingkai Shi, Charles ZhangFSE 2022 · 16 citations
- Sound Dynamic Deadlock Prediction in Linear TimeHünkar Can Tunç, Umang Mathur, Andreas Pavlogiannis, Mahesh ViswanathanPLDI 2023 · 15 citations
- Predictive Monitoring against Pattern Regular LanguagesZhendong Ang, Umang MathurPOPL 2024 · 12 citations
- DLOS: Effective Static Detection of Deadlocks in OS KernelsJia-Ju Bai, Tuo Li, Shi-Min HuUSENIX ATC 2022 · 10 citations
- A Compositional Deadlock Detector for Android JavaJames Brotherston, Paul Brunet, Nikos Gorogiannis, Max I. KanovichASE 2021 · 8 citations
Related papers
- Deadlock prediction via generalized dependencyJinpeng Zhou, Hanmei Yang, John Lange, Tongping LiuISSTA 2022 · 5 citations
- AirTaint: Making Dynamic Taint Analysis Faster and EasierQian Sang, Yanhao Wang, Yuwei Liu, Xiangkun Jia et al.S&P 2024 · 11 citations
- An ownership policy and deadlock detector for promisesCaleb Voss, Vivek SarkarPPoPP 2021 · 2 citations
- Database Deadlock Diagnosis for Large-Scale ORM-Based Web ApplicationsZhiyuan Dong, Zhaoguo Wang, Chuanwei Yi, Xian Xu et al.ICDE 2023 · 7 citations
- Kard: lightweight data race detection with per-thread memory protectionAdil Ahmad, Sangho Lee, Pedro Fonseca, Byoungyoung LeeASPLOS 2021 · 17 citations
