paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Verifying Lock-Free Traversals in Relaxed Memory Separation Logic

在松弛内存分离逻辑中验证无锁遍历
PLDI 9(PLDI)2025匹配度 3/10 · 论文属于形式化验证与松弛内存并发数据结构方向,与用户核心关注的 PL 与 LLM/Agent 交叉(AI→PL、PL→AI)无直接关联;既未利用 LLM/Agent 改进验证,也未涉及 Agentic 程序的静态分析。仅在形式化验证方法上属于 PL 领域,但不在研究画像的核心问题内。引用 1 inbox
Sunho Park, Jaehwang Jung, Janggun Lee, Jeehoon Kang
crossref: 2026-09-10

AI 速览

一句话:首次在松弛内存一致性下形式验证无锁链表、跳表及跳表优先队列,提出逐键线性化历史规约与 shadowed-by 关系。

松弛内存一致性允许内存访问重排序,给无锁数据结构的遍历验证带来两大挑战:一是规约需灵活捕捉松弛行为又易于理解使用;二是遍历线程可能读到过期边,难以推理边可达性。本文首次对无锁链表、跳表及跳表优先队列进行形式验证,提出逐键线性化历史规约,仅要求每个键上的操作满足尊重因果的全序,而非所有操作的全局全序。为应对验证挑战,引入 shadowed-by 关系形式化过期边概念,从而为每个键建立边及其关联操作的全序,满足强规约。所有证明均在基于 Iris 框架、用 Rocq 实现的 iRC11 松弛内存分离逻辑中机械化。

问题
在松弛内存一致性下,无锁数据结构的遍历验证面临规约难以兼顾灵活性与简洁性、以及过期边导致可达性推理困难的问题。
方法
提出逐键线性化历史规约,仅要求每个键上操作满足尊重因果的全序;并引入 shadowed-by 关系形式化过期边,以建立边及关联操作的全序。所有证明在 iRC11 松弛内存分离逻辑(基于 Iris/Rocq)中机械化。
评估
对无锁链表、跳表和跳表优先队列进行首次形式验证,证明其满足所提出的强规约。
原文摘要(Abstract)

We report the first formal verification of a lock-free list, skiplist, and a skiplist-based priority queue against a strong specification in relaxed memory consistency (RMC). RMC allows relaxed behaviors in which memory accesses may be reordered with other operations, posing two significant challenges for the verification of lock-free traversals. (1) Specification challenge : formulating a specification that is flexible enough to capture relaxed behaviors, yet simple enough to be easily understood and used. We address this challenge by proposing the per-key linearizable history specification that enforces a total order of operations for each key that respects causality, rather than a total order of all operations. (2) Verification challenge : devising verification techniques for reasoning about the reachability of edges for traversing threads, which can read stale edges due to relaxed behaviors. We address this challenge by introducing the shadowed-by relation that formalizes the notion of outdated edges. This relation enables us to establish a total order of edges and thus their associated operations for each key, required to satisfy the strong specification. All our proofs are mechanized on the iRC11 relaxed memory separation logic, built on the Iris framework in Rocq.

链接与引用

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

BibTeX
@article{paperbot3086,
  title = {Verifying Lock-Free Traversals in Relaxed Memory Separation Logic},
  author = {Sunho Park and Jaehwang Jung and Janggun Lee and Jeehoon Kang},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {9},
  number = {PLDI},
  year = {2025},
  doi = {10.1145/3729248}
}