paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Automating Pruning in Top-Down Enumeration for Program Synthesis Problems with Monotonic Semantics

在单调语义的程序合成问题中自动实现自顶向下枚举的剪枝
OOPSLA 8(OOPSLA2)2024匹配度 3/10 · 该论文属于程序合成与抽象解释/静态分析方向,但核心是单调语义下的自动剪枝与区间抽象,未涉及 LLM/Agent、浮点程序分析或贝叶斯程序分析,与用户当前聚焦的 AI 与 PL 交叉方向仅有较弱的邻近关联。引用 6 inbox
Keith J.C. Johnson, Rahul Krishnan, Thomas Reps, Loris D’Antoni
dblp: 2026-09-10crossref: 2026-09-10arxiv: 2026-09-10

AI 速览

一句话:提出单调语义下自动构造区间抽象语义,从而在 SemGuS 中无需手工抽象域即可剪枝。

论文关注自顶向下程序合成中的抽象剪枝:若部分程序补全后可能输出集合不含目标输出,则可剪掉该分支及其补全。传统抽象剪枝依赖领域专家手工设计抽象域和语义,难以通用。作者在通用 SemGuS 框架下给出充分条件,证明当语言具体语义具有单调性时,可自动导出区间式抽象语义并用于剪枝;还给出保证抽象精确的条件。实现工具 Moito,在无需领域先验知识下自动化区间剪枝,成功求解正则表达式、CSV 模式、命令式程序等此前需特定抽象合成器的问题。

问题
如何在不手工设计领域特定抽象域的情况下,为通用 SemGuS 程序合成问题自动获得有效的抽象剪枝。
方法
在具体语义满足单调性时自动构造区间抽象语义,并给出一组精确抽象条件,将其用于自顶向下枚举搜索的剪枝。
评估
实现 Moito,在正则表达式、CSV 文件模式和命令式程序等合成任务上自动化区间剪枝,并求解此前需要领域特定抽象合成器的问题。
原文摘要(Abstract)

In top-down enumeration for program synthesis, abstraction-based pruning uses an abstract domain to approximate the set of possible values that a partial program, when completed, can output on a given input. If the set does not contain the desired output, the partial program and all its possible completions can be pruned. In its general form, abstraction-based pruning requires manually designed, domain-specific abstract domains and semantics, and thus has only been used in domain-specific synthesizers. This paper provides sufficient conditions under which a form of abstraction-based pruning can be automated for arbitrary synthesis problems in the general-purpose Semantics-Guided Synthesis (SemGuS) framework without requiring manually-defined abstract domains. We show that if the semantics of the language for which we are synthesizing programs exhibits some monotonicity properties, one can obtain an abstract interval-based semantics for free from the concrete semantics of the programming language, and use such semantics to effectively prune the search space. We also identify a condition that ensures such abstract semantics can be used to compute a precise abstraction of the set of values that a program derivable from a given hole in a partial program can produce. These precise abstractions make abstraction-based pruning more effective. We implement our approach in a tool, M oito , which can tackle synthesis problems defined in the SemGuS framework. M oito can automate interval-based pruning without any a-priori knowledge of the problem domain, and solve synthesis problems that previously required domain-specific, abstraction-based synthesizers—e.g., synthesis of regular expressions, CSV file schema, and imperative programs from examples.

链接与引用

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

BibTeX
@article{abs-2408-15822,
  title = {Automating Pruning in Top-Down Enumeration for Program Synthesis Problems with Monotonic Semantics},
  author = {Keith J.C. Johnson and Rahul Krishnan and Thomas Reps and Loris D’Antoni},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {8},
  number = {OOPSLA2},
  year = {2024},
  doi = {10.1145/3689744}
}