paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Semantics-guided synthesis

语义引导的程序合成
POPL 5(POPL)2021匹配度 3/10 · 论文属于程序合成与形式语义/CHC 求解,涉及形式化验证中的不可实现性证明,但未涉及静态分析、ML/Agentic 程序、LLM 或浮点/贝叶斯程序分析,与用户当前核心方向仅存在 PL/形式方法层面的弱关联。引用 31 inbox
Jinwoo Kim, Qinheping Hu, Loris D'Antoni, Thomas Reps
crossref: 2026-09-10

AI 速览

一句话:提出 SemGuS 框架,允许以递归大步步语义定义合成问题,并用 CHC 证明搜索同时合成程序与证明不可实现性。

现有程序合成框架多依赖固定语法与标准语义,难以处理带无界循环的命令式语言或非标准、抽象语义下的合成问题。本文提出 SemGuS(语义引导合成)框架,用户可为语言构造同时提供语法和递归定义的大步步语义,从而支持命令式程序、抽象语义等合成问题。作者将 SemGuS 问题编码为约束 Horn 子句(CHC)上的证明搜索,既能合成程序,也能证明不可实现性;这是首个能在无限语法搜索空间上对带无界循环的命令式合成问题证明不可实现性的方法。实现工具 MESSY,并应用于 SyGuS(表达式)、命令式程序合成和正则表达式合成。

问题
程序合成通常只固定语法和语义,难以表达带无界循环的命令式语言或抽象语义下的合成问题。
方法
提出 SemGuS,接受递归大步步语义,并将问题编码为约束 Horn 子句上的证明搜索,以同时合成程序与证明不可实现性。
评估
实现 MESSY,并在 SyGuS 表达式、命令式语言和正则表达式合成任务上评估。
原文摘要(Abstract)

This paper develops a new framework for program synthesis, called semantics-guided synthesis (SemGuS), that allows a user to provide both the syntax and the semantics for the constructs in the language. SemGuS accepts a recursively defined big-step semantics, which allows it, for example, to be used to specify and solve synthesis problems over an imperative programming language that may contain loops with unbounded behavior. The customizable nature of SemGuS also allows synthesis problems to be defined over a non-standard semantics, such as an abstract semantics. In addition to the SemGuS framework, we develop an algorithm for solving SemGuS problems that is capable of both synthesizing programs and proving unrealizability, by encoding a SemGuS problem as a proof search over Constrained Horn Clauses: in particular, our approach is the first that we are aware of that can prove unrealizabilty for synthesis problems that involve imperative programs with unbounded loops, over an infinite syntactic search space. We implemented the technique in a tool called MESSY, and applied it to SyGuS problems (i.e., over expressions), synthesis problems over an imperative programming language, and synthesis problems over regular expressions.

链接与引用

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

BibTeX
@article{paperbot1182,
  title = {Semantics-guided synthesis},
  author = {Jinwoo Kim and Qinheping Hu and Loris D'Antoni and Thomas Reps},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {5},
  number = {POPL},
  year = {2021},
  doi = {10.1145/3434311}
}