Export Citations
Save this search
Please login to be able to save your searches and receive alerts for new content matching your search criteria.
- research-articleJune 2021
DreamCoder: bootstrapping inductive program synthesis with wake-sleep library learning
- Kevin Ellis,
- Catherine Wong,
- Maxwell Nye,
- Mathias Sablé-Meyer,
- Lucas Morales,
- Luke Hewitt,
- Luc Cary,
- Armando Solar-Lezama,
- Joshua B. Tenenbaum
PLDI 2021: Proceedings of the 42nd ACM SIGPLAN International Conference on Programming Language Design and ImplementationJune 2021, Pages 835–850https://doi.org/10.1145/3453483.3454080We present a system for inductive program synthesis called DreamCoder, which inputs a corpus of synthesis problems each specified by one or a few examples, and automatically derives a library of program components and a neural search policy that can be ...
Semantic code search via equational reasoning
PLDI 2020: Proceedings of the 41st ACM SIGPLAN Conference on Programming Language Design and ImplementationJune 2020, Pages 1066–1082https://doi.org/10.1145/3385412.3386001We present a new approach to semantic code search based on equational reasoning, and the Yogo tool implementing this approach. Our approach works by considering not only the dataflow graph of a function, but also the dataflow graphs of all equivalent ...
- research-articleJune 2018
The three pillars of machine programming
- Justin Gottschlich,
- Armando Solar-Lezama,
- Nesime Tatbul,
- Michael Carbin,
- Martin Rinard,
- Regina Barzilay,
- Saman Amarasinghe,
- Joshua B. Tenenbaum,
- Tim Mattson
MAPL 2018: Proceedings of the 2nd ACM SIGPLAN International Workshop on Machine Learning and Programming LanguagesJune 2018, Pages 69–80https://doi.org/10.1145/3211346.3211355In this position paper, we describe our vision of the future of machine programming through a categorical examination of three pillars of research. Those pillars are: (i) intention, (ii) invention, and (iii) adaptation. Intention emphasizes advancements ...
- research-articleJune 2017
DemoMatch: API discovery from demonstrations
PLDI 2017: Proceedings of the 38th ACM SIGPLAN Conference on Programming Language Design and ImplementationJune 2017, Pages 64–78https://doi.org/10.1145/3062341.3062386We introduce DemoMatch, a tool for API discovery that allows the user to discover how to implement functionality using a software framework by demonstrating the functionality in existing applications built with the same framework. DemoMatch matches the ...
Also Published in:
ACM SIGPLAN Notices: Volume 52 Issue 6, June 2017 - research-articleJune 2016
Verified lifting of stencil computations
PLDI '16: Proceedings of the 37th ACM SIGPLAN Conference on Programming Language Design and ImplementationJune 2016, Pages 711–726https://doi.org/10.1145/2908080.2908117This paper demonstrates a novel combination of program synthesis and verification to lift stencil computations from low-level Fortran code to a high-level summary expressed using a predicate language. The technique is sound and mostly automated, and ...
Also Published in:
ACM SIGPLAN Notices: Volume 51 Issue 6, June 2016 - research-articleJune 2016
Precise, dynamic information flow for database-backed applications
PLDI '16: Proceedings of the 37th ACM SIGPLAN Conference on Programming Language Design and ImplementationJune 2016, Pages 631–647https://doi.org/10.1145/2908080.2908098We present an approach for dynamic information flow control across the application and database. Our approach reduces the amount of policy code required, yields formal guarantees across the application and database, works with existing relational ...
Also Published in:
ACM SIGPLAN Notices: Volume 51 Issue 6, June 2016 - research-articleJune 2016
Program synthesis from polymorphic refinement types
PLDI '16: Proceedings of the 37th ACM SIGPLAN Conference on Programming Language Design and ImplementationJune 2016, Pages 522–538https://doi.org/10.1145/2908080.2908093We present a method for synthesizing recursive functions that provably satisfy a given specification in the form of a polymorphic refinement type. We observe that such specifications are particularly suitable for program synthesis for two reasons. ...
Also Published in:
ACM SIGPLAN Notices: Volume 51 Issue 6, June 2016 - research-articleJune 2013
Faceted execution of policy-agnostic programs
PLAS '13: Proceedings of the Eighth ACM SIGPLAN workshop on Programming languages and analysis for securityJune 2013, Pages 15–26https://doi.org/10.1145/2465106.2465121It is important for applications to protect sensitive data. Even for simple confidentiality and integrity policies, it is often difficult for programmers to reason about how the policies should interact and how to enforce policies across the program. A ...
- research-articleJune 2013
Automated feedback generation for introductory programming assignments
PLDI '13: Proceedings of the 34th ACM SIGPLAN Conference on Programming Language Design and ImplementationJune 2013, Pages 15–26https://doi.org/10.1145/2491956.2462195We present a new method for automatically providing feedback for introductory programming problems. In order to use this method, we need a reference implementation of the assignment, and an error model consisting of potential corrections to errors that ...
Also Published in:
ACM SIGPLAN Notices: Volume 48 Issue 6, June 2013 - research-articleJune 2013
Optimizing database-backed applications with query synthesis
PLDI '13: Proceedings of the 34th ACM SIGPLAN Conference on Programming Language Design and ImplementationJune 2013, Pages 3–14https://doi.org/10.1145/2491956.2462180Object-relational mapping libraries are a popular way for applications to interact with databases because they provide transparent access to the database using the same language as the application. Unfortunately, using such frameworks often leads to ...
Also Published in:
ACM SIGPLAN Notices: Volume 48 Issue 6, June 2013 - research-articleJune 2010
Smooth interpretation
PLDI '10: Proceedings of the 31st ACM SIGPLAN Conference on Programming Language Design and ImplementationJune 2010, Pages 279–291https://doi.org/10.1145/1806596.1806629We present smooth interpretation, a method to systematically approximate numerical imperative programs by smooth mathematical functions. This approximation facilitates the use of numerical search techniques like gradient descent for program analysis and ...
Also Published in:
ACM SIGPLAN Notices: Volume 45 Issue 6, June 2010 - research-articleJune 2008
Sketching concurrent data structures
PLDI '08: Proceedings of the 29th ACM SIGPLAN Conference on Programming Language Design and ImplementationJune 2008, Pages 136–148https://doi.org/10.1145/1375581.1375599We describe PSketch, a program synthesizer that helps programmers implement concurrent data structures. The system is based on the concept of sketching, a form of synthesis that allows programmers to express their insight about an implementation as a ...
Also Published in:
ACM SIGPLAN Notices: Volume 43 Issue 6, June 2008 - ArticleJune 2007
Sketching stencils
PLDI '07: Proceedings of the 28th ACM SIGPLAN Conference on Programming Language Design and ImplementationJune 2007, Pages 167–178https://doi.org/10.1145/1250734.1250754Performance of stencil computations can be significantly improved through smart implementations that improve memory locality, computation reuse, or parallelize the computation. Unfortunately, efficient implementations are hard to obtain because they ...
Also Published in:
ACM SIGPLAN Notices: Volume 42 Issue 6, June 2007 - ArticleJune 2005
Programming by sketching for bit-streaming programs
PLDI '05: Proceedings of the 2005 ACM SIGPLAN conference on Programming language design and implementationJune 2005, Pages 281–294https://doi.org/10.1145/1065010.1065045This paper introduces the concept of programming with sketches, an approach for the rapid development of high-performance applications. This approach allows a programmer to write clean and portable reference code, and then obtain a high-quality ...
Also Published in:
ACM SIGPLAN Notices: Volume 40 Issue 6, June 2005