paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Certifying the synthesis of heap-manipulating programs

认证堆操作程序的合成
ICFP 5(ICFP)2021匹配度 2/10 · 论文关注分离逻辑程序合成推导到Coq目标证明的认证翻译,属于程序合成与形式验证,但未涉及LLM/Agent、浮点程序分析或贝叶斯程序分析,与当前研究画像的核心交叉方向仅存在间接的形式化验证背景关联。引用 8 inbox
Yasunari Watanabe, Kiran Gopinathan, George Pîrlea, Nadia Polikarpova, Ilya Sergey
crossref: 2026-09-10

AI 速览

一句话:提出将分离逻辑综合推导系统化翻译为Coq验证器中目标证明的方法,实现对SuSLik生成堆程序的可认证验证。

自动演绎程序合成能从简洁规约生成可执行程序及正确性证明,但合成证明与验证证明的结构差异很大,导致难以直接用经过认证的验证器检查合成结果,通常需要为每个验证后端编写临时翻译。本文面向堆操作程序的合成与验证,提出一种有原则的翻译技术,将演绎合成推导(源证明)转换为交互式程序验证器逻辑中关于所合成程序的目标证明。作者基于分离逻辑指针程序合成工具SuSLik,在Coq中的三个基础验证框架HTT、Iris和VST上实现了三个认证器。结果表明,该方法能为典型合成基准生成简洁、高效且可机器检查的证明。

问题
自动演绎合成虽同时给出程序与正确性证明,但合成证明与验证后端所需证明结构不一致,使认证验证器难以直接验证合成结果,往往需为每个后端定制翻译。
方法
提出将SuSLik产生的演绎合成推导系统化翻译为HTT、Iris、VST等交互式验证器逻辑中的目标正确性证明,并为这些Coq框架实现认证器。
评估
在Coq中的HTT、Iris和VST三个基础验证框架上,对典型指针程序合成基准生成可机器检查的证明,验证了证明的简洁性与效率。
原文摘要(Abstract)

Automated deductive program synthesis promises to generate executable programs from concise specifications, along with proofs of correctness that can be independently verified using third-party tools. However, an attempt to exercise this promise using existing proof-certification frameworks reveals significant discrepancies in how proof derivations are structured for two different purposes: program synthesis and program verification. These discrepancies make it difficult to use certified verifiers to validate synthesis results, forcing one to write an ad-hoc translation procedure from synthesis proofs to correctness proofs for each verification backend. In this work, we address this challenge in the context of the synthesis and verification of heap-manipulating programs. We present a technique for principled translation of deductive synthesis derivations (a.k.a. source proofs) into deductive target proofs about the synthesised programs in the logics of interactive program verifiers. We showcase our technique by implementing three different certifiers for programs generated via SuSLik, a Separation Logic-based tool for automated synthesis of programs with pointers, in foundational verification frameworks embedded in Coq: Hoare Type Theory (HTT), Iris, and Verified Software Toolchain (VST), producing concise and efficient machine-checkable proofs for characteristic synthesis benchmarks.

链接与引用

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

BibTeX
@article{paperbot1126,
  title = {Certifying the synthesis of heap-manipulating programs},
  author = {Yasunari Watanabe and Kiran Gopinathan and George Pîrlea and Nadia Polikarpova and Ilya Sergey},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {5},
  number = {ICFP},
  year = {2021},
  doi = {10.1145/3473589}
}