Skip to content

Opening book details…

Can I read Learning Abstractions for Program Synthesis on EtoBox?

Learning Abstractions for Program Synthesis by Wang, Xinyu; Anderson, Greg; Dillig, Isil; McMillan, K. L. is a scholarly article available to read on EtoBox.

What is Learning Abstractions for Program Synthesis about?

Many example-guided program synthesis techniques use abstractions to prune the search space. While abstraction-based synthesis has proven to be very powerful, a domain expert needs to provide a suitable abstract domain, together with the abstract transformers of each DSL construct. However, coming up with useful abstractions can be non-trivial, as it requires both domain expertise and knowledge about the synthesizer. In this paper, we propose a new technique for learning abstractions that are useful for instantiating a general synthesis framework in a new domain. Given a DSL and a small set of training problems, our method uses tree interpolation to infer reusable predicate templates that speed up synthesis in a given domain. Our method also learns suitable abstract transformers by solving a certain kind of second-order constraint solving problem in a data-driven way. We have implemented the proposed method in a tool called ATLAS and evaluate it in the context of the BLAZE meta-synthesizer. Our evaluation shows that (a) ATLAS can learn useful abstract domains and transformers from few training problems, and (b) the abstractions learned by ATLAS allow BLAZE to achieve significantly

Author
Wang, Xinyu; Anderson, Greg; Dillig, Isil; McMillan, K. L.
Published
2018
Language
EN

More by Wang, Xinyu; Anderson, Greg; Dillig, Isil; McMillan, K. L.

Browse all works by Wang, Xinyu; Anderson, Greg; Dillig, Isil; McMillan, K. L.