Show simple item record

dc.contributor.authorQiu, Xiaokang
dc.contributor.authorLerner, Benjamin S.
dc.contributor.authorInala, Jeevana Priya
dc.contributor.authorPolikarpova, Nadezhda
dc.contributor.authorSolar Lezama, Armando
dc.date.accessioned2017-08-24T19:36:27Z
dc.date.available2017-08-24T19:36:27Z
dc.date.issued2017-03
dc.identifier.isbn978-3-662-54576-8
dc.identifier.isbn978-3-662-54577-5
dc.identifier.issn0302-9743
dc.identifier.issn1611-3349
dc.identifier.urihttp://hdl.handle.net/1721.1/111015
dc.description.abstractRecent work has proposed a promising approach to improving scalability of program synthesis by allowing the user to supply a syntactic template that constrains the space of potential programs. Unfortunately, creating templates often requires nontrivial effort from the user, which impedes the usability of the synthesizer. We present a solution to this problem in the context of recursive transformations on algebraic data-types. Our approach relies on polymorphic synthesis constructs: a small but powerful extension to the language of syntactic templates, which makes it possible to define a program space in a concise and highly reusable manner, while at the same time retains the scalability benefits of conventional templates. This approach enables end-users to reuse predefined templates from a library for a wide variety of problems with little effort. The paper also describes a novel optimization that further improves the performance and the scalability of the system. We evaluated the approach on a set of benchmarks that most notably includes desugaring functions for lambda calculus, which force the synthesizer to discover Church encodings for pairs and boolean operations.en_US
dc.description.sponsorshipNational Science Foundation (U.S.) (Award 1139056)en_US
dc.language.isoen_US
dc.publisherSpringer-Verlagen_US
dc.relation.isversionofhttp://dx.doi.org/10.1007/978-3-662-54577-5_14en_US
dc.rightsCreative Commons Attribution-Noncommercial-Share Alikeen_US
dc.rights.urihttp://creativecommons.org/licenses/by-nc-sa/4.0/en_US
dc.sourceMIT Web Domainen_US
dc.titleSynthesis of Recursive ADT Transformations from Reusable Templatesen_US
dc.typeArticleen_US
dc.identifier.citationInala, Jeevana Priya et al. “Synthesis of Recursive ADT Transformations from Reusable Templates.” A. Legay and T. Margaria, editors. Tools and Algorithms for the Construction and Analysis of Systems. TACAS 2017. Lecture Notes in Computer Science, 10205 (2017): 247–263 © 2017 Springer-Verlag GmbH Germanyen_US
dc.contributor.departmentMassachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratoryen_US
dc.contributor.departmentMassachusetts Institute of Technology. Department of Electrical Engineering and Computer Scienceen_US
dc.contributor.mitauthorInala, Jeevana Priya
dc.contributor.mitauthorPolikarpova, Nadezhda
dc.contributor.mitauthorSolar Lezama, Armando
dc.relation.journalTools and Algorithms for the Construction and Analysis of Systemsen_US
dc.eprint.versionAuthor's final manuscripten_US
dc.type.urihttp://purl.org/eprint/type/ConferencePaperen_US
eprint.statushttp://purl.org/eprint/status/NonPeerRevieweden_US
dspace.orderedauthorsInala, Jeevana Priya; Polikarpova, Nadia; Qiu, Xiaokang; Lerner, Benjamin S.; Solar-Lezama, Armandoen_US
dspace.embargo.termsNen_US
dc.identifier.orcidhttps://orcid.org/0000-0001-5571-173X
dc.identifier.orcidhttps://orcid.org/0000-0001-7604-8252
mit.licenseOPEN_ACCESS_POLICYen_US


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record