kirancodes.me
To Proof Maintenance & Beyond!

Recursive Program Synthesis using Paramorphisms

Qiantan Hong, Alex Aiken

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.

Related papers