Abstract
This paper presents an algorithm for synthesizing recursive functions that process algebraic datatypes. It is founded on proof-theoretic techniques that exploit both type information and input–output examples to prune the search space. The algorithm uses refinement trees, a data structure that succinctly represents constraints on the shape of generated code. We evaluate the algorithm by using a prototype implementation to synthesize more than 40 benchmarks and several non-trivial larger examples. Our results demonstrate that the approach meets or outperforms the state-of-the-art for this domain, in terms of synthesis time or attainable size of the generated programs.
Cite
CITATION STYLE
Osera, P.-M., & Zdancewic, S. (2015). Type-and-example-directed program synthesis. ACM SIGPLAN Notices, 50(6), 619–630. https://doi.org/10.1145/2813885.2738007
Register to see more suggestions
Mendeley helps you to discover research relevant for your work.