paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Programming by Navigation

导航式编程(Programming by Navigation)
PLDI 9(PLDI)2025匹配度 4/10 · 论文属于程序合成与形式化 PL,涉及规约细化、类型居留与 Datalog 编译,和形式化验证/程序分析有邻接性;但未直接涉及用户核心关注的静态分析、LLM/Agent、浮点程序分析或贝叶斯程序分析,也没有 LLM/Agent 与 PL 的交叉。引用 2 inbox
Justin Lubin, Parker Ziegler, Sarah E. Chasins
crossref: 2026-09-10

AI 速览

一句话:提出导航式编程合成问题,保证规约细化中所有且仅有有效下一步,并高效求解。

当程序合成任务从歧义的规约出发时,合成过程通常需要迭代细化规约以找到特定目标解。本文提出“导航式编程合成问题”(Programming by Navigation Synthesis Problem),专门支持这种迭代规约细化。与已有工作不同,作者证明满足该问题的合成器在每一步都展示所有有效下一步(强完备性)且仅展示有效下一步(强可靠)。为求解该问题,本文将经典逻辑风格的类型居留(type inhabitation)oracle 转化为完全构造性的程序合成器,并通过可靠编译到 Datalog 来定义该 oracle。实证评估表明,该技术实现了一个高效的导航式编程合成器,能求解基线方法无法完成或规模过大的任务,并且是首个保证规约细化过程同时满足强完备性与强可靠性的合成器。

问题
程序合成常从歧义规约开始,需要迭代细化规约以定位特定目标程序;先前工作无法保证细化过程中建议的下一步既完备又可靠。
方法
形式化 Programming by Navigation Synthesis Problem,将经典逻辑风格的 type inhabitation oracle 构造化为程序合成器,并通过可靠编译到 Datalog 实现该 oracle。
评估
通过实证评估表明,该合成器能高效求解基线方法无法完成或规模过大的任务,并保证规约细化过程满足强完备性与强可靠。
原文摘要(Abstract)

When a program synthesis task starts from an ambiguous specification, the synthesis process often involves an iterative specification refinement process. We introduce the Programming by Navigation Synthesis Problem, a new synthesis problem adapted specifically for supporting iterative specification refinement in order to find a particular target solution. In contrast to prior work, we prove that synthesizers that solve the Programming by Navigation Synthesis Problem show all valid next steps ( Strong Completeness ) and only valid next steps ( Strong Soundness ). To meet the demands of the Programming by Navigation Synthesis Problem, we introduce an algorithm to turn a type inhabitation oracle (in the style of classical logic) into a fully constructive program synthesizer.We then define such an oracle via sound compilation to Datalog. Our empirical evaluation shows that this technique results in an efficient Programming by Navigation synthesizer that solves tasks that are either impossible or too large for baselines to solve. Our synthesizer is the first to guarantee that its specification refinement process satisfies both Strong Completeness and Strong Soundness .

链接与引用

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

BibTeX
@article{paperbot3106,
  title = {Programming by Navigation},
  author = {Justin Lubin and Parker Ziegler and Sarah E. Chasins},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {9},
  number = {PLDI},
  year = {2025},
  doi = {10.1145/3729264}
}