一句话:提出 Peahen,通过上下文不敏感锁图构建和惰性精化,实现精确且可扩展的静态死锁检测。
死锁仍严重危害现代软件系统的可靠性与安全性。已有静态死锁检测器难以同时兼顾精度与可扩展性:上下文不敏感的方法会产生大量误报,而上下文敏感的方法又因调用上下文爆炸而牺牲效率。本文提出 Peahen,将高精度所需计算分解为两个协作阶段:一是上下文不敏感的锁图构建,选择性地在边上编码必要的锁获取信息;二是三种精确而惰性的精化,将边信息用于逐步精化锁图中的死锁环,且仅针对少量感兴趣的调用上下文。由此,Peahen 试图在避免上下文爆炸的同时保持较高精度。摘要未给出具体实验数据或量化结果。
Deadlocks still severely inflict reliability and security issues upon software systems of the modern age. Worse still, as we note, in prior static deadlock detectors, good precision does not go hand-in-hand with high scalability --- their approaches are either context-insensitive, thereby engendering many false positives, or suffer from the calling context explosion to reach context-sensitive, thus compromising good efficiency. In this paper, we advocate Peahen, geared towards precise yet also scalable static deadlock detection. At its crux, Peahen decomposes the computational effort for embracing high precision into two cooperative analysis stages: (i) context-insensitive lock-graph construction, which selectively encodes the essential lock-acquisition information on each edge, and (ii) three precise yet lazy refinements, which incorporate such edge information into progressively refining the deadlock cycles in the lock graph only for a few interesting calling contexts.
DOI 原文 ·
@inproceedings{paperbot7027,
title = {Peahen: fast and precise static deadlock detection via context reduction},
author = {Yuandao Cai and Chengfeng Ye and Qingkai Shi and Charles Zhang},
booktitle = {FSE},
year = {2022},
doi = {10.1145/3540250.3549110}
}