paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Low-overhead deadlock prediction

低开销死锁预测
ICSE Proceedings of the ACM/IEEE 42nd International Conference on Software Engineering2020匹配度 2/10 · 该论文属于并发程序的动态死锁预测,未涉及用户画像中的静态分析、LLM/Agent、浮点程序分析或贝叶斯程序分析等核心方向;其低开销与部署适用性虽与工程落地相关,但主题匹配度很低。引用 12 inbox
Yan Cai, Ruijie Meng, Jens Palsberg
crossref: 2026-09-12

AI 速览

一句话:提出首个低开销死锁预测器 AirLock,通过小锁可达图与按环分析,将平均开销降至 3.5%。

多线程程序即使部署后仍可能发生死锁,因此用户希望在已部署程序上运行死锁检测工具。但现有预测器 MagicLock 和 UnDead 由于在大执行轨迹上运行指数时间算法,开销过高,仅适合开发阶段。本文提出首个低开销死锁预测器 AirLock,它维护一个较小的预测性锁可达图,在图中搜索环,并仅对每个环运行指数时间算法。由于实际中环的数量很少,AirLock 能在发现与 MagicLock 和 UnDead 相同死锁的同时大幅降低开销。在真实基准上的实验表明,AirLock 的平均时间开销为 3.5%,比 MagicLock 和 UnDead 低三个数量级,适用于 AFL 等模糊测试器以及部署后的在线使用。

问题
多线程程序即使在部署后仍可能发生死锁,但现有死锁预测器(如 MagicLock、UnDead)开销过大,难以用于终端部署场景。
方法
AirLock 维护一个小的预测性锁可达图,先在图中搜索环,然后仅对每个环运行指数时间算法,从而避免在大执行轨迹上整体运行指数时间算法。
评估
在真实世界基准上测得 AirLock 的平均时间开销为 3.5%,比 MagicLock 和 UnDead 低三个数量级,并可用于 AFL 等模糊测试器及部署后在线使用。
原文摘要(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 end-user 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 low-overhead 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.

链接与引用

DOI 原文 ·

BibTeX
@inproceedings{paperbot5657,
  title = {Low-overhead deadlock prediction},
  author = {Yan Cai and Ruijie Meng and Jens Palsberg},
  booktitle = {ICSE},
  year = {2020},
  doi = {10.1145/3377811.3380367}
}