paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Detecting concurrency vulnerabilities based on partial orders of memory and thread events

基于内存与线程事件偏序的并发漏洞检测
FSE Proceedings of the 29th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering2021匹配度 2/10 · 该论文属于并发程序静态分析与内存漏洞检测,虽与用户画像中的程序分析/抽象解释、并发内存模型有一般背景交集,但没有涉及 LLM/Agent 辅助静态分析、ML/Agentic 程序分析、浮点程序分析或贝叶斯程序分析等核心方向。引用 9 inbox
Kunpeng Yu, Chenxu Wang, Yan Cai, Xiapu Luo, Zijiang Yang
crossref: 2026-09-12

AI 速览

一句话:提出基于内存与线程事件偏序的并发内存漏洞检测方法,通过交换易漏洞事件顺序构造可行迹,兼顾效果与效率。

多线程程序中的内存漏洞往往只在特定执行交错下触发,穷举所有执行代价高且易漏报。本文提出一种基于事件偏序的并发内存漏洞检测方法。偏序表示事件之间确定的执行顺序,通过交换潜在漏洞事件对的顺序来构造能够暴露漏洞的可行迹,从而缩小搜索空间并提升效率。作者针对三类内存漏洞设计了提取潜在漏洞事件对的算法,并提出计算事件对可行集的新算法,可行集包含构造可行迹所需的相关事件。该方法还扩展了已有数据竞争检测思路,考虑两个事件由同一把锁保护的情形。原型工具实验表明,其在检测效果和效率上均优于当前先进算法。

问题
多线程程序的内存漏洞通常只在特定线程交错下出现,现有检测方法要么计算开销大,要么因交错复杂而漏报。
方法
利用内存和线程事件的偏序关系,提取潜在漏洞事件对,并通过交换事件顺序构造可行迹;同时计算事件对的可行集,并扩展数据竞争检测以处理同一锁保护的事件对。
评估
实现原型工具,并针对并发内存漏洞检测进行实验,与当前先进算法比较效果和效率。
原文摘要(Abstract)

Memory vulnerabilities are the main causes of software security problems. However, detecting vulnerabilities in multi-threaded programs is challenging because many vulnerabilities occur under specific executions, and it is hard to explore all possible executions of a multi-threaded program. Existing approaches are either computationally intensive or likely to miss some vulnerabilities due to the complex thread interleaving. This paper introduces a novel approach to detect concurrency memory vulnerabilities based on partial orders of events. A partial order on a set of events represents the definite execution orders of events. It allows constructing feasible traces exposing specific vulnerabilities by exchanging the execution orders of vulnerability-potential events. It also reduces the search space of possible executions and thus improves computational efficiency. We propose new algorithms to extract vulnerability-potential event pairs for three kinds of memory vulnerabilities. We also design a novel algorithm to compute a potential event pair's feasible set, which contains the relevant events required by a feasible trace. Our method extends existing approaches for data race detection by considering that two events are protected by the same lock. We implement a prototype of our approach and conduct experiments to evaluate its performance. Experimental results show that our tool exhibits superiority over state-of-the-art algorithms in both effectiveness and efficiency.

链接与引用

DOI 原文 ·

BibTeX
@inproceedings{paperbot6403,
  title = {Detecting concurrency vulnerabilities based on partial orders of memory and thread events},
  author = {Kunpeng Yu and Chenxu Wang and Yan Cai and Xiapu Luo and Zijiang Yang},
  booktitle = {FSE},
  year = {2021},
  doi = {10.1145/3468264.3468572}
}