Show simple item record

dc.contributor.advisorGrossman, Daniel Jen_US
dc.contributor.authorPerelman, Daniel Adamen_US
dc.date.accessioned2015-09-29T18:00:50Z
dc.date.available2015-09-29T18:00:50Z
dc.date.submitted2015en_US
dc.identifier.otherPerelman_washington_0250E_14636.pdfen_US
dc.identifier.urihttp://hdl.handle.net/1773/33696
dc.descriptionThesis (Ph.D.)--University of Washington, 2015en_US
dc.description.abstractProgram 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.en_US
dc.format.mimetypeapplication/pdfen_US
dc.language.isoen_USen_US
dc.rightsCopyright is held by the individual authors.en_US
dc.subjectAPI discovery; automated grading; end-user programming; programming by example; programming languages; program synthesisen_US
dc.subject.otherComputer scienceen_US
dc.subject.othercomputer science and engineeringen_US
dc.titleProgram Synthesis Without Full Specifications for Novel Applicationsen_US
dc.typeThesisen_US
dc.embargo.termsOpen Accessen_US


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record