Program Synthesis Without Full Specifications for Novel Applications
Perelman, Daniel Adam
MetadataShow full item record
Program synthesis is a family of techniques that generate programs from a description of what the program should do but not how it should do it. By designing a program synthesis algorithm together with the user interaction model we show that by accepting small increases in user effort, it is easier to write the synthesizer and the need for specialization of the synthesizer to a given domain is reduced without losing performance. In this work, we target three tasks to show the breadth of our methodology: code completion, end-user programming-by-example for data transformations, and feedback for introductory programming assignments. For each of these tasks, we develop an interaction model and program synthesis algorithm together to best support the user. In the first, we use partial expressions to allow programmers to express exactly what they don't know and want the completion system to fill in. In the second, we use the sequence of examples to inform building up larger programs iteratively. In the last, we use attempts from other students on the same assignment to mine corrections.
Showing items related by title, author, creator and subject.
Eastin, Ivan (2/1/2008)Japan is a timber deficit country that requires substantial volumes of imported timber to meet its domestic demand for wood. To a large degree, wood demand in Japan is tied to housing starts where approximately 43% of new ...
George Boldt decision and the Fishery Buyback Program, 1982 - Senator Jackson on the conference agreement for the Fishery Buyback Program Unknown author (1982)Includes Jackson on the George Boldt decision and continued funding for the Youth Conservation Corps (YCC).