Authors
Peter-Michael Osera, Steve Zdancewic
Publication date
2015/6/3
Journal
ACM SIGPLAN Notices
Volume
50
Issue
6
Pages
619-630
Publisher
ACM
Description
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.
Total citations
2014201520162017201820192020202120222023202418193132334044352923
Scholar articles