paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Scenario-Based Proofs for Concurrent Objects

并发对象的场景化证明
OOPSLA 8(OOPSLA1)2024匹配度 2/10 · 该论文是并发对象线性化证明的形式化验证工作,属于程序验证/静态分析相邻领域,但完全不涉及 LLM/Agent、机器学习系统、浮点程序分析或贝叶斯程序分析,与用户当前关注的 PL 与 AI 交叉方向没有直接关联。引用 2 inbox
Constantin Enea, Eric Koskinen
crossref: 2026-09-10

AI 速览

一句话:提出以交换等价类商刻画“场景”的并发对象线性化证明技术,并可从源码推导候选商表达式。

并发对象是多核程序的基础,分布式计算文献中常以少量“场景”(规范执行)给出直观正确性论证,但这些论证是否具有形式基础、能否覆盖无界线程的任意交错尚不清楚。本文将场景形式化为并发对象交错集合关于交换等价关系的商,并设计一种表达式语言,用正则或上下文无关语言定义商的抽象,从而支持简洁的线性化证明;商表达式将无界交错组织为更易推理的形式,并显式刻画实现层竞争/干扰与 ADT 层转换的关系。作者在 Michael-Scott 队列、Elimination stack、SLS reservation queue、RDCSS、Herlihy-Wing 队列等非平凡并发对象上评估,表明商能捕捉这些算法的多样特性,即使线性化点不直观也可使用,且与原作者的正确性论证对应并能给出新的场景化论证;此外还证明部分对象的商发现可归约为两线程推理,并给出从源代码推导候选商表达式的实现。

问题
并发对象的非形式正确性论证通常只给出少量典型场景,尚不清楚其是否有形式基础,以及能否推广到无界线程的任意交错。
方法
将并发对象的规范交错形式化为交换等价类的商,并设计正则/上下文无关语言的表达式来定义商的抽象,以支持线性化证明;同时给出从源码推导候选商表达式的实现。
评估
在文献中多个非平凡并发对象(如 Michael-Scott 队列、Elimination stack、SLS reservation queue、RDCSS、Herlihy-Wing 队列)上评估,验证商能捕捉算法特性、对应原作者论证并给出新论证,且部分对象的商发现可归约为两线程推理。
原文摘要(Abstract)

Concurrent objects form the foundation of many applications that exploit multicore architectures and their importance has lead to informal correctness arguments, as well as formal proof systems. Correctness arguments (as found in the distributed computing literature) give intuitive descriptions of a few canonical executions or "scenarios" often each with only a few threads, yet it remains unknown as to whether these intuitive arguments have a formal grounding and extend to arbitrary interleavings over unboundedly many threads. We present a novel proof technique for concurrent objects, based around identifying a small set of scenarios (representative, canonical interleavings), formalized as the commutativity quotient of a concurrent object. We next give an expression language for defining abstractions of the quotient in the form of regular or context-free languages that enable simple proofs of linearizability. These quotient expressions organize unbounded interleavings into a form more amenable to reasoning and make explicit the relationship between implementation-level contention/interference and ADT-level transitions. We evaluate our work on numerous non-trivial concurrent objects from the literature (including the Michael-Scott queue, Elimination stack, SLS reservation queue, RDCSS and Herlihy-Wing queue). We show that quotients capture the diverse features/complexities of these algorithms, can be used even when linearization points are not straight-forward, correspond to original authors' correctness arguments, and provide some new scenario-based arguments. Finally, we show that discovery of some object's quotients reduces to two-thread reasoning and give an implementation that can derive candidate quotients expressions from source code.

链接与引用

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

BibTeX
@article{paperbot2528,
  title = {Scenario-Based Proofs for Concurrent Objects},
  author = {Constantin Enea and Eric Koskinen},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {8},
  number = {OOPSLA1},
  year = {2024},
  doi = {10.1145/3649857}
}