1. 5

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.”


  2. 2

    Thanks for posting this paper - really excited for what these types of tools could do for testing and verification.

    nickpsecurity: do you regularly review publications? if so - which? As a storage nerd I read a smaller subset than I shuold.

    1. 1

      I just run through dozens of them at a time with my Google-fu (now DuckDuckGo-fu) to find the most interesting or practical along many areas of application. I submit some of those regularly to places where people enjoy or can use them. I also keep an eye out of folks building usable tools that might benefit from seeing specific papers. I try to get it to them.

      I also constantly look for connections between it all for new methods of doing things. Ive spotted some decent ones recently that could simultaneously boost productivity and code confidence by about an equal amount. Usually inverses of each other. So, if not that valuable now, I hope to make something useful later that builds on stuff you see me submit here.