paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Deadlock-Free Separation Logic: Linearity Yields Progress for Dependent Higher-Order Message Passing

无死锁分离逻辑:线性性为依赖高阶消息传递带来进展
POPL 8(POPL)2024匹配度 3/10 · 论文属于形式化验证/并发分离逻辑领域,虽与静态分析和形式化验证有间接关联,但未涉及 LLM/Agent 改进验证、ML/Agentic 程序分析、浮点程序分析或贝叶斯程序分析等核心方向。引用 12 inbox
Jules Jacobs, Jonas Kastberg Hinrichsen, Robbert Krebbers
crossref: 2026-09-10

AI 速览

一句话:提出线性并发分离逻辑 LinearActris,用线性性保证依赖高阶消息传递程序无死锁且无泄漏。

本文面向消息传递并发,研究如何静态保证程序无死锁与无资源泄漏。作者提出线性并发分离逻辑 LinearActris,融合会话类型与并发分离逻辑,支持通过依赖协议验证带可变状态的高阶程序。核心难点是证明该逻辑的 adequacy 定理,即线性性确实“免费”带来无死锁与无泄漏;作者基于连通图(connectivity graphs)定义步进索引的分离逻辑模型来完成证明。为展示表达能力,他们利用逻辑关系证明了高阶 GV 风格会话类型系统的可靠性。所有结果与示例均在 Coq 中机械化。

问题
如何为消息传递并发,尤其是使用依赖协议的高阶、带可变状态程序,静态保证无死锁与无资源泄漏。
方法
提出线性并发分离逻辑 LinearActris,融合会话类型与并发分离逻辑;通过基于连通图的步进索引分离逻辑模型证明 adequacy,并用逻辑关系证明高阶 GV 风格会话类型系统的可靠性。
评估
形式化证明了核心定理,并在 Coq 中机械化所有结果与示例,展示其对挑战性高阶消息传递程序的表达能力。
原文摘要(Abstract)

We introduce a linear concurrent separation logic, called LinearActris , designed to guarantee deadlock and leak freedom for message-passing concurrency. LinearActris combines the strengths of session types and concurrent separation logic, allowing for the verification of challenging higher-order programs with mutable state through dependent protocols. The key challenge is to prove the adequacy theorem of LinearActris, which says that the logic indeed gives deadlock and leak freedom “for free” from linearity. We prove this theorem by defining a step-indexed model of separation logic, based on connectivity graphs . To demonstrate the expressive power of LinearActris, we prove soundness of a higher-order (GV-style) session type system using the technique of logical relations. All our results and examples have been mechanized in Coq.

链接与引用

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

BibTeX
@article{paperbot2616,
  title = {Deadlock-Free Separation Logic: Linearity Yields Progress for Dependent Higher-Order Message Passing},
  author = {Jules Jacobs and Jonas Kastberg Hinrichsen and Robbert Krebbers},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {8},
  number = {POPL},
  year = {2024},
  doi = {10.1145/3632889}
}