paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Precise and efficient atomicity violation detection for interrupt-driven programs via staged path pruning

通过分阶段路径剪枝实现中断驱动程序的精确高效原子性违反检测
ISSTA Proceedings of the 31st ACM SIGSOFT International Symposium on Software Testing and Analysis2022匹配度 2/10 · 该论文属于静态程序分析与并发缺陷检测,虽然与用户对静态分析工程的兴趣有交集,但其研究对象是中断驱动程序的原子性违反,不涉及 Agentic/LLM、浮点程序分析或贝叶斯程序分析等用户明确追踪的核心交叉方向。引用 11 inbox
Chao Li, Rui Chen, Boxiang Wang, Tingting Yu, Dongdong Gao, Mengfei Yang
crossref: 2026-09-12

AI 速览

一句话:提出 intAtom,通过分阶段路径剪枝与约束求解,精确高效检测中断驱动程序中的原子性违反。

中断驱动程序广泛用于航天等安全关键领域,但中断的不确定交错会引发并发缺陷,其中原子性违反危害较大。已有基于模式的检测难以兼顾精度与可扩展性。本文提出 intAtom:先用数据流分析与访问交错模式匹配识别候选违反;再分析被抢占任务/中断中连续访问间的路径可行性以识别原子性意图并过滤候选;最后通过符号摘要与代表性抢占点选择的模块化路径剪枝,结合约束求解消除不可行路径。路径可行性检查基于稀疏值流分析,提升可扩展性。在基准和6个真实航天嵌入式程序上,误报降低72%,检测速度提升3倍,平均误报率19.6%,发现19个开发者确认的缺陷。

问题
中断驱动程序中不确定的中断交错会导致并发缺陷,原子性违反尤其有害;已有基于模式的检测难以同时达到高精度与可扩展性。
方法
提出 intAtom 静态检测技术,结合数据流分析、访问交错模式匹配、路径可行性分析、符号摘要、代表性抢占点选择与约束求解,并用稀疏值流分析进行分阶段路径剪枝。
评估
在基准测试和6个真实航天嵌入式程序上评估,相比最先进方法误报降低72%、检测速度提升3倍,平均误报率19.6%,并发现19个经开发者确认的缺陷。
原文摘要(Abstract)

Interrupt-driven programs are widely used in aerospace and other safety-critical areas. However, uncertain interleaving execution of interrupts may cause concurrency bugs, which could result in serious safety problems. Most of the previous researches tackling the detection of interrupt concurrency bugs focus on data races, that are usually benign as shown in empirical studies. Some studies focus on pattern-based atomicity violations that are most likely harmful. However, they cannot achieve simultaneous high precision and scalability. This paper presents intAtom, a precise and efficient static detection technique for interrupt atomicity violations, described by access interleaving pattern. The key point is that it eliminates false violations by staged path pruning with constraint solving. It first identifies all the violation candidates using data flow analysis and access interleaving pattern matching. intAtom then analyzes the path feasibility between two consecutive accesses in preempted task/interrupt, in order to recognize the atomicity intention of developers, with the help of which it filters out some candidates. Finally, it performs a modular path pruning by constructing symbolic summary and representative preemption points selection to eliminate the infeasible path in concurrent context efficiently. All the path feasibility checking processes are based on sparse value-flow analysis, which makes intAtom scalable. intAtom is evaluated on a benchmark and 6 real-world aerospace embedded programs. The experimental results show that intAtom reduces the false positive by 72% and improves the detection speed by 3 times, compared to the state-of-the-art methods. Furthermore, it can finish analyzing the real-world aerospace embedded software very fast with an average FP rate of 19.6%, while finding 19 bugs that were confirmed by developers.

链接与引用

DOI 原文 ·

BibTeX
@inproceedings{paperbot7383,
  title = {Precise and efficient atomicity violation detection for interrupt-driven programs via staged path pruning},
  author = {Chao Li and Rui Chen and Boxiang Wang and Tingting Yu and Dongdong Gao and Mengfei Yang},
  booktitle = {ISSTA},
  year = {2022},
  doi = {10.1145/3533767.3534412}
}