paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Recursive Program Synthesis using Paramorphisms

使用 Paramorphism 的递归程序合成
PLDI 8(PLDI)2024匹配度 2/10 · 该论文属于程序合成与函数式编程方向,研究如何用 paramorphism 合成递归函数式程序;但未涉及用户核心关注的静态分析、LLM/Agent 与程序分析交叉、浮点程序分析或贝叶斯程序分析,也未以 LLM/Agent 作为工具。引用 7 inbox
Qiantan Hong, Alex Aiken
crossref: 2026-09-10

AI 速览

一句话:将递归程序合成拆分为固定递归结构的模板与非递归片段搜索,利用 paramorphism 简化并超越已有方法。

本文研究如何自动合成递归函数式程序。已有方法通常直接在递归程序空间搜索,效率与覆盖面受限。作者提出基于一类原始递归组合子——paramorphism——的合成方法:paramorphism 能表达代数数据类型上最常见的递归模式。核心是将合成问题分解为两部分:先用带多个洞的模板固定递归结构,再搜索非递归程序片段填充模板空洞。评估在文献基准集上进行,结果表明该方法不仅实现更简单,而且求解的基准数量超过此前提出的方法。

问题
如何更简单且覆盖更多地自动合成代数数据类型上的递归函数式程序。
方法
以 paramorphism 作为递归组合子,将合成分解为固定递归结构的多洞模板与填空用的非递归片段搜索。
评估
在文献基准集上与其他合成方法比较,求解了更多基准,并显示实现更简单。
原文摘要(Abstract)

We show that synthesizing recursive functional programs using a class of primitive recursive combinators is both simpler and solves more benchmarks from the literature than previously proposed approaches. Our method synthesizes paramorphisms, a class of programs that includes the most common recursive programming patterns on algebraic data types. The crux of our approach is to split the synthesis problem into two parts: a multi-hole template that fixes the recursive structure, and a search for non-recursive program fragments to fill the template holes.

链接与引用

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

BibTeX
@article{paperbot2508,
  title = {Recursive Program Synthesis using Paramorphisms},
  author = {Qiantan Hong and Alex Aiken},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {8},
  number = {PLDI},
  year = {2024},
  doi = {10.1145/3656381}
}