paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Beyond Backtracking: Connections in Fine-Grained Concurrent Separation Logic

超越回溯:细粒度并发分离逻辑中的连接
PLDI 7(PLDI)2023匹配度 3/10 · 该论文属于并发分离逻辑与定理证明自动化,和形式化验证方向相关,但不涉及用户核心关注的 LLM/Agent 与程序分析/形式化验证的交叉,也不涉及浮点或贝叶斯程序分析。它可作为形式化验证背景,但并非当前研究画像的核心匹配。引用 2 inbox
Ike Mulder, Łukasz Czajka, Robbert Krebbers
crossref: 2026-09-10

AI 速览

一句话:提出基于连接演算的多后继分离逻辑演算,在 Coq/Iris 中实现,减少回溯并自动验证细粒度并发程序。

细粒度并发算法(如锁、屏障、队列和引用计数)的验证依赖并发分离逻辑中的不变式。不变式常表示为逻辑状态析取,但析取使自动验证困难:现有方法无引导地回溯引入析取,可能因缺少必要情形分析而产生不可证目标;或过早消除析取,导致效率低下。本文借鉴直觉主义逻辑中连接演算的思想,为带析取的分离逻辑设计简单的多后继演算,并引入新的“连接”概念。演算虽不完备,但可扩展 Iris 的模态、高阶量词、幽灵状态和不变式等特性,并可在 Coq 中有效实现,几乎无需回溯。在 24 个挑战性基准上评估,14 个可全自动验证。

问题
并发分离逻辑中,不变式通常为逻辑状态的析取,给自动验证带来困难:回溯法盲目选择析取分支,可能错过必要的情形分析;而过早消除析取又会牺牲效率。
方法
借鉴直觉主义逻辑的连接演算,设计带析取的分离逻辑多后继演算,引入 connection 概念,并扩展 Iris 特性、在 Coq 中实现,以减少回溯。
评估
在 24 个挑战性基准上评估,其中 14 个可全自动验证,表明方法在 Coq/Iris 中的实用性。
原文摘要(Abstract)

Concurrent separation logic has been responsible for major advances in the formal verification of fine-grained concurrent algorithms and data structures such as locks, barriers, queues, and reference counters. The key ingredient of the verification of a fine-grained program is an invariant, which relates the physical data representation (on the heap) to a logical representation (in mathematics) and to the state of the threads (using a form of ghost state). An invariant is typically represented as a disjunction of logical states, but this disjunctive nature makes invariants a difficult target for automated verification. Current approaches roughly suffer from two problems. They use backtracking to introduce disjunctions in an uninformed manner, which can lead to unprovable goals if an appropriate case analysis has not been made before choosing the disjunct. Moreover, they eliminate disjunctions too eagerly, which can cause poor efficiency. While disjunctions are no problem for automated provers based on classical (i.e., non-separating) logic, the challenges with disjunctions are prominent in the study of proof automation for intuitionistic logic. We take inspiration from that area—specifically, based on ideas from connection calculus , we design a simple multi-succedent calculus for separation logic with disjunctions featuring a novel concept of a connection . While our calculus is not complete, it has the advantage that it can be extended with features of the state-of-the-art concurrent separation logic Iris (such as modalities, higher-order quantification, ghost state, and invariants), and can be implemented effectively in the Coq proof assistant with little need for backtracking. We evaluate the practicality on 24 challenging benchmarks, 14 of which we can verify fully automatically.

链接与引用

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

BibTeX
@article{paperbot1973,
  title = {Beyond Backtracking: Connections in Fine-Grained Concurrent Separation Logic},
  author = {Ike Mulder and Łukasz Czajka and Robbert Krebbers},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {7},
  number = {PLDI},
  year = {2023},
  doi = {10.1145/3591275}
}