Synthesis of Recursive ADT Transformations from Reusable Templates

作者: Jeevana Priya Inala , Nadia Polikarpova , Xiaokang Qiu , Benjamin S. Lerner , Armando Solar-Lezama

DOI: 10.1007/978-3-662-54577-5_14

关键词:

摘要: Recent work has proposed a promising approach to improving scalability of program synthesis by allowing the user supply syntactic template that constrains space potential programs. Unfortunately, creating templates often requires nontrivial effort from user, which impedes usability synthesizer. We present solution this problem in context recursive transformations on algebraic data-types. Our relies polymorphic constructs: small but powerful extension language templates, makes it possible define concise and highly reusable manner, while at same time retains benefits conventional templates. This enables end-users reuse predefined library for wide variety problems with little effort. The paper also describes novel optimization further improves performance system. evaluated set benchmarks most notably includes desugaring functions lambda calculus, force synthesizer discover Church encodings pairs boolean operations.

参考文章(24)
Jinseong Jeon, Xiaokang Qiu, Armando Solar-Lezama, Jeffrey S. Foster, Adaptive Concretization for Parallel Program Synthesis computer aided verification. pp. 377- 394 ,(2015) , 10.1007/978-3-319-21668-3_22
Sanjit A. Seshia, Mukund Raghothaman, Garvit Juniwal, Rajeev Alur, Rastislav Bodik, Abhishek Udupa, Milo M. K. Martin, Rishabh Singh, Armando Solar-Lezama, Emina Torlak, Syntax-guided synthesis Other univ. web domain. ,(2013)
Nadia Polikarpova, Ivan Kuraj, Armando Solar-Lezama, Program synthesis from polymorphic refinement types programming language design and implementation. ,vol. 51, pp. 522- 538 ,(2016) , 10.1145/2908080.2908093
Aws Albarghouthi, Sumit Gulwani, Zachary Kincaid, Recursive Program Synthesis Computer Aided Verification. pp. 934- 950 ,(2013) , 10.1007/978-3-642-39799-8_67
Daniel Perelman, Sumit Gulwani, Dan Grossman, Peter Provost, Test-driven synthesis programming language design and implementation. ,vol. 49, pp. 408- 418 ,(2014) , 10.1145/2594291.2594297
Ulf Norell, Dependently typed programming in Agda Proceedings of the 4th international workshop on Types in language design and implementation - TLDI '09. ,vol. 5832, pp. 1- 2 ,(2008) , 10.1145/1481861.1481862
Peter-Michael Osera, Steve Zdancewic, Type-and-example-directed program synthesis programming language design and implementation. ,vol. 50, pp. 619- 630 ,(2015) , 10.1145/2737924.2738007
Benjamin C. Pierce, David N. Turner, Local type inference ACM Transactions on Programming Languages and Systems. ,vol. 22, pp. 1- 44 ,(2000) , 10.1145/345099.345100
Emina Torlak, Rastislav Bodik, A lightweight symbolic virtual machine for solver-aided host languages programming language design and implementation. ,vol. 49, pp. 530- 541 ,(2014) , 10.1145/2594291.2594340
Etienne Kneuss, Ivan Kuraj, Viktor Kuncak, Philippe Suter, Synthesis modulo recursive functions conference on object oriented programming systems languages and applications. ,vol. 48, pp. 407- 426 ,(2013) , 10.1145/2509136.2509555