paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Combining the top-down propagation and bottom-up enumeration for inductive program synthesis

结合自顶向下传播与自底向上枚举的归纳程序合成
POPL 5(POPL)2021匹配度 3/10 · 论文属于归纳程序合成(SyGuS)方向,关注枚举搜索与自顶向下传播的结合,与用户核心关注的静态分析、LLM/Agent 交叉、浮点程序分析或贝叶斯程序分析没有直接关系。仅在广义 PL/形式化方法上邻近,因此匹配度较低。引用 34 inbox
Woosuk Lee
crossref: 2026-09-10

AI 速览

一句话:提出 Duet,将自顶向下传播与自底向上枚举结合,实现可扩展且通用的归纳程序合成。

归纳程序合成主要有两类方法:枚举搜索通用但可扩展性差,自顶向下传播(TDP)高效却仅适用于特定文法或应用。本文提出将二者协同结合:用枚举搜索生成小型子表达式,再通过 TDP 将它们组合成目标程序。这样既能把 TDP 的能力带入任意文法,又能缓解枚举搜索的扩展性瓶颈。作者将该方法应用于标准的语法引导合成(SyGuS)问题,实现工具 Duet,并在多领域 SyGuS 基准上评估,显示其相比现有通用及领域特定合成器有显著性能提升。

问题
归纳程序合成中,枚举搜索通用但难以扩展,自顶向下传播(TDP)高效却受限于特定文法或应用,如何兼得通用性与可扩展性。
方法
结合自底向上枚举生成小子表达式与自顶向下传播组装程序,并应用于 SyGuS 标准形式。
评估
实现工具 Duet,在多领域 SyGuS 基准上与通用及领域特定合成器对比,取得显著性能提升。
原文摘要(Abstract)

We present an effective method for scalable and general-purpose inductive program synthesis. There have been two main approaches for inductive synthesis: enumerative search, which repeatedly enumerates possible candidate programs, and the top-down propagation (TDP), which recursively decomposes a given large synthesis problem into smaller subproblems. Enumerative search is generally applicable but limited in scalability, and the TDP is efficient but only works for special grammars or applications. In this paper, we synergistically combine the two approaches. We generate small program subexpressions via enumerative search and put them together into the desired program by using the TDP. Enumerative search enables to bring the power of TDP into arbitrary grammars, and the TDP helps to overcome the limited scalability of enumerative search. We apply our approach to a standard formulation, syntax-guided synthesis (SyGuS), thereby supporting a broad class of inductive synthesis problems. We have implemented our approach in a tool called Duet and evaluate it on SyGuS benchmark problems from various domains. We show that Duet achieves significant performance gains over existing general-purpose as well as domain-specific synthesizers.

链接与引用

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

BibTeX
@article{paperbot1195,
  title = {Combining the top-down propagation and bottom-up enumeration for inductive program synthesis},
  author = {Woosuk Lee},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {5},
  number = {POPL},
  year = {2021},
  doi = {10.1145/3434335}
}