paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Conditional Contextual Refinement

条件上下文精化
POPL 7(POPL)2023匹配度 2/10 · 该论文属于程序验证、精化与分离逻辑的形式化框架,虽与形式化验证相关,但未涉及 LLM/Agent、静态分析在 ML/Agentic 程序中的应用、浮点程序分析或贝叶斯程序分析,与用户画像的核心交叉方向不匹配。引用 29 inbox
Youngju Song, Minki Cho, Dongjae Lee, Chung-Kil Hur, Michael Sammler, Derek Dreyer
crossref: 2026-09-10

AI 速览

一句话:提出 CCR,首个将精化与分离逻辑统一、同时支持条件规约与传递组合的低层系统验证框架。

针对低层系统形式验证中精化与分离逻辑各具优势却难以兼得的问题:精化支持把程序作为规约以及证明的传递组合,分离逻辑支持条件规约和对共享状态的模块化所有权推理。已有框架虽同时使用两者,但上下文精化判断不支持条件规约,关系分离逻辑判断又不支持证明传递组合。本文提出条件上下文精化 CCR,将二者真正融合:其精化规约既带分离逻辑前/后条件,又具有传递可组合性。作者在 Coq 中实现 CCR,并在多个代表性例子中验证其有效性。

问题
如何在低层系统验证中同时获得精化的传递组合与程序即规约能力,以及分离逻辑的条件规约与共享状态模块化推理能力。
方法
提出 CCR,将条件规约(分离逻辑前/后条件)嵌入上下文精化判断,并使其支持传递组合;该系统在 Coq 中机化实现。
评估
在 Coq 中实现 CCR,并在一系列代表性低层系统验证示例上评估其有效性。
原文摘要(Abstract)

Much work in formal verification of low-level systems is based on one of two approaches: refinement or separation logic. These two approaches have complementary benefits: refinement supports the use of programs as specifications, as well as transitive composition of proofs, whereas separation logic supports conditional specifications, as well as modular ownership reasoning about shared state. A number of verification frameworks employ these techniques in tandem, but in all such cases the benefits of the two techniques remain separate. For example, in frameworks that use relational separation logic to prove contextual refinement, the relational separation logic judgment does not support transitive composition of proofs, while the contextual refinement judgment does not support conditional specifications. In this paper, we propose Conditional Contextual Refinement (or CCR, for short), the first verification system to not only combine refinement and separation logic in a single framework but also to truly marry them together into a unified mechanism enjoying all the benefits of refinement and separation logic simultaneously. Specifically, unlike in prior work, CCR’s refinement specifications are both conditional (with separation logic pre- and post-conditions) and transitively composable. We implement CCR in Coq and evaluate its effectiveness on a range of interesting examples.

链接与引用

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

BibTeX
@article{paperbot2053,
  title = {Conditional Contextual Refinement},
  author = {Youngju Song and Minki Cho and Dongjae Lee and Chung-Kil Hur and Michael Sammler and Derek Dreyer},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {7},
  number = {POPL},
  year = {2023},
  doi = {10.1145/3571232}
}