Program synthesis
Program synthesis is the task of automatically finding a program in the underlying
programming language that satisfies the user intent expressed in the form of some …
programming language that satisfies the user intent expressed in the form of some …
Automated feedback generation for introductory programming assignments
We present a new method for automatically providing feedback for introductory
programming problems. In order to use this method, we need a reference implementation of …
programming problems. In order to use this method, we need a reference implementation of …
Synthesizing data structure transformations from input-output examples
We present a method for example-guided synthesis of functional programs over recursive
data structures. Given a set of input-output examples, our method synthesizes a program in …
data structures. Given a set of input-output examples, our method synthesizes a program in …
Synthesis of loop-free programs
We consider the problem of synthesizing loop-free programs that implement a desired
functionality using components from a given library. Specifications of the desired …
functionality using components from a given library. Specifications of the desired …
Repairing programs with semantic code search (t)
Automated program repair can potentially reduce debugging costs and improve software
quality but recent studies have drawn attention to shortcomings in the quality of …
quality but recent studies have drawn attention to shortcomings in the quality of …
Flashfill++: Scaling programming by example by cutting to the chase
Programming-by-Examples (PBE) involves synthesizing an" intended program" from a small
set of user-provided input-output examples. A key PBE strategy has been to restrict the …
set of user-provided input-output examples. A key PBE strategy has been to restrict the …
Program synthesis: challenges and opportunities
Program synthesis is the mechanized construction of software, dubbed 'self-writing code'.
Synthesis tools relieve the programmer from thinking about how the problem is to be solved; …
Synthesis tools relieve the programmer from thinking about how the problem is to be solved; …
Component-based synthesis for complex APIs
Component-based approaches to program synthesis assemble programs from a database
of existing components, such as methods provided by an API. In this paper, we present a …
of existing components, such as methods provided by an API. In this paper, we present a …
Program synthesis using natural language
Interacting with computers is a ubiquitous activity for millions of people. Repetitive or
specialized tasks often require creation of small, often one-off, programs. End-users struggle …
specialized tasks often require creation of small, often one-off, programs. End-users struggle …
Recursive program synthesis
Input-output examples are a simple and accessible way of describing program behaviour.
Program synthesis from input-output examples has the potential of extending the range of …
Program synthesis from input-output examples has the potential of extending the range of …