paperbot · PL 论文追踪

全部论文 待读 收藏

P1 Quantitative separation logic: a logic for reasoning about probabilistic pointer programs

定量分离逻辑:一种推理概率指针程序的逻辑
POPL 3(POPL)2019匹配度 6/10 · 论文属于概率程序验证与分离逻辑,与用户关注的贝叶斯/概率程序分析方向有交集,且理论形式化程度高;但未涉及 LLM/Agentic、浮点程序分析或工业落地,因此匹配度中等。引用 43 inbox
Kevin Batz, Benjamin Lucien Kaminski, Joost-Pieter Katoen, Christoph Matheja, Thomas Noll
crossref: 2026-09-10

AI 速览

一句话:提出定量分离逻辑 QSL,为概率指针程序提供带局部推理的定量最弱前置条件演算。

论文提出定量分离逻辑(QSL),将经典分离逻辑中的谓词提升为取实数值的定量,并相应提升分离合取与分离蕴涵。该扩展保守兼容经典分离逻辑,并保持 modus ponens、伴随性等定律。作者进一步建立面向概率指针程序的最弱前置条件演算,它同时保守扩展了 Ishtiaq/O'Hearn/Reynolds 的堆程序分离逻辑与 Kozen/McIver-Morgan 的概率最弱前置期望。基于 Markov 决策过程操作语义证明了演算的可靠性,并保留 O'Hearn 的帧规则以支持局部推理。案例表明可推理终止时堆为空的概率、到达某数组排列的概率以及链表期望长度等定量性质。

问题
如何为带指针与随机性的概率程序提供支持局部推理的定量程序逻辑,以刻画概率、期望等非布尔性质。
方法
提出 QSL,将分离逻辑连接词提升到实值定量,并建立最弱前置条件演算;其语义基于 Markov 决策过程,并证明演算可靠且保留帧规则。
评估
通过相对 MDP 操作语义的可靠性证明进行理论评估,并用示例展示可推理终止时空堆概率、到达某数组排列的概率以及链表期望长度等定量性质。
原文摘要(Abstract)

We present quantitative separation logic (QSL). In contrast to classical separation logic, QSL employs quantities which evaluate to real numbers instead of predicates which evaluate to Boolean values. The connectives of classical separation logic, separating conjunction and separating implication, are lifted from predicates to quantities. This extension is conservative: Both connectives are backward compatible to their classical analogs and obey the same laws, e.g. modus ponens, adjointness, etc. Furthermore, we develop a weakest precondition calculus for quantitative reasoning about probabilistic pointer programs in QSL. This calculus is a conservative extension of both Ishtiaq’s, O’Hearn’s and Reynolds’ separation logic for heap-manipulating programs and Kozen’s / McIver and Morgan’s weakest preexpectations for probabilistic programs. Soundness is proven with respect to an operational semantics based on Markov decision processes. Our calculus preserves O’Hearn’s frame rule , which enables local reasoning. We demonstrate that our calculus enables reasoning about quantities such as the probability of terminating with an empty heap, the probability of reaching a certain array permutation, or the expected length of a list.

链接与引用

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

BibTeX
@article{paperbot647,
  title = {Quantitative separation logic: a logic for reasoning about probabilistic pointer programs},
  author = {Kevin Batz and Benjamin Lucien Kaminski and Joost-Pieter Katoen and Christoph Matheja and Thomas Noll},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {3},
  number = {POPL},
  year = {2019},
  doi = {10.1145/3290347}
}