ScooPy: Enhancing Program Synthesis with Nested Example Specifications
This program is tentative and subject to change.
Current IDE-integrated program synthesis leaves no indication of what code was auto-generated, let alone an explanation of why. This makes both identifying and understanding machine-generated code hard. We therefore add example scopes, comments enclosing synthesized code that document the input-output examples that created it. This also allows programmers to manually edit examples and re-launch the synthesizer without tediously re-entering the examples. Scopes are simply text, and so can be created anywhere, including inside other scopes. However, synthesizers can only reason about one flat example set. To address this, we introduce ScooPy, IDE-integrated program synthesis for nested example specifications. ScooPy lets programmers edit example scopes, see live information based on the examples, and, call the synthesizer using nested scopes. In two user studies with 6 and 16 participants we see that example scopes increase users’ engagement with the code and that ScooPy improves users’ ability to synthesize for some types of tasks.
This program is tentative and subject to change.
Fri 17 OctDisplayed time zone: Perth change
10:30 - 12:15 | |||
10:30 30mTalk | What You See Is What It Does: A Structural Pattern for Legible Software Onward! Papers | ||
11:00 30mTalk | Literate Tracing Onward! Papers Matthew Sotoudeh Stanford University Pre-print Media Attached | ||
11:30 30mTalk | ScooPy: Enhancing Program Synthesis with Nested Example Specifications Onward! Papers |