paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Reorder Pointer Flow in Sound Concurrency Bug Prediction

在可靠的并发缺陷预测中重排指针流
ICSE Proceedings of the IEEE/ACM 46th International Conference on Software Engineering2024匹配度 3/10 · 该论文属于静态程序分析与并发缺陷预测,提出流敏感指针分析并用于重排指针流检测并发缺陷,与用户关注的通用程序分析有弱关联;但不涉及 LLM/Agent、浮点程序分析或贝叶斯程序分析,也未面向机器学习系统/Agentic 程序,与核心研究方向交叉点很少。引用 1 inbox
Yuqi Guo, Shihao Zhu, Yan Cai, Liang He, Jian Zhang
crossref: 2026-09-12

AI 速览

一句话:提出流敏感并发指针分析 ConPTA,并据此实现缺陷预测工具 Eagle,通过主动重排指针流检测四类并发指针缺陷。

由于线程交错的不确定性,并发缺陷预测长期十分困难。近期出现若干可靠的缺陷检测方法,它们基于局部搜索:变异已观测轨迹的顺序,再判断变异后的顺序能否触发缺陷。但这些方法从未考虑重排指针的数据流,而这一点对检测复杂缺陷至关重要。为弥补该缺陷,本文提出流敏感的指向分析技术 ConPTA,在顺序变异过程中主动重排指针流;并基于 ConPTA 提出可靠的预测式缺陷检测方法 Eagle,用于预测空指针解引用(NPD)、未初始化指针使用(UPU)、释放后使用(UAF)与双重释放(DF)四类并发缺陷。通过主动重排指针流,Eagle 在变异时能探索更大的线程交错搜索空间,从而检测到更多并发缺陷。在 10 个真实多线程程序上的评估表明,Eagle 在有效性与效率上均显著优于 UFO、ConVul、ConVulPOE 与 Period 四种最先进的缺陷检测方法。

问题
研究问题:如何在并发程序的轨迹顺序变异式缺陷预测中考虑指针数据流的重排,从而更可靠地检测更多复杂的并发指针缺陷。
方法
方法:提出流敏感的并发指向分析 ConPTA,用于在顺序变异过程中主动重排指针流;并在此基础上构建可靠预测式检测方法 Eagle,针对 NPD、UPU、UAF、DF 四类缺陷进行预测。
评估
评估:在 10 个真实多线程程序上与 UFO、ConVul、ConVulPOE、Period 四种最先进方法对比,Eagle 在有效性与效率上均显著更优。
原文摘要(Abstract)

Due to the non-determinism of thread interleaving, predicting concurrency bugs has long been an extremely difficult task. Recently, several sound bug-detecting approaches were proposed. These approaches are based on local search, i.e., mutating the sequential order of the observed trace and predicting whether the mutated sequential order can trigger a bug. Surprisingly, during this process, they never consider reordering the data flow of the pointers, which can be the key point to detecting many complex bugs. To alleviate this weakness, we propose a new flow-sensitive point-to analysis technique ConPTA to help actively reorder the pointer flow during the sequential order mutation process. Based on ConPTA, we further propose a new sound predictive bug-detecting approach Eagle to predict four types of concurrency bugs. They are null pointer dereference (NPD), uninitialized pointer use (UPU), use after free (UAF), and double free (DF). By actively reordering the pointer flow, Eagle can explore a larger search space of the thread interleaving during the mutation and thus detect more concurrency bugs. Our evaluation of Eagle on 10 real-world multi-threaded programs shows that Eagle significantly outperforms four state-of-the-art bug-detecting approaches UFO, ConVul, ConVulPOE and Period in both effectiveness and efficiency.

链接与引用

DOI 原文 · PDF(开放获取) ·

BibTeX
@inproceedings{paperbot11475,
  title = {Reorder Pointer Flow in Sound Concurrency Bug Prediction},
  author = {Yuqi Guo and Shihao Zhu and Yan Cai and Liang He and Jian Zhang},
  booktitle = {ICSE},
  year = {2024},
  doi = {10.1145/3597503.3623300}
}