ScooPy: Enhancing Program Synthesis with Nested Example Specifications
summary
ScooPy integrates an IDE synthesizer with example scopes — comment-wrapped input/output examples that can be edited, live-checked, nested, and re-used to re-run synthesis without retyping. It implements a bottom-up nested synthesis algorithm that unions inner examples, forces inclusion of inner programs, and produced working fixes in demos (it reordered assignments to fix a bug). On 50 benchmarks ScooPy solves more than half with fewer examples; a flat synthesizer solves 40/50 (10 time out or need >5 examples). Two user studies (6 and 16 participants) show increased engagement and better success on unfamiliar tasks.
AI-written summary · about
chapters (14)
- 0:00Program synthesis intro
- 1:49Live coding with Loopy
- 3:58Retyping examples problem
- 5:02Example scopes for clarity
- 6:28Launching Scoopy
- 7:10Code in existing scopes
- 9:12Nested scope challenges
- 10:15Nested scopes algorithm
- 12:22Abstract syntax tree representation of scopes
- 15:58Expressiveness gains
- 18:49User study feedback
- 20:32Nested scope study
- 23:45Scoopy’s contributions
- 24:06Q&A
related talks
13mProgramming with a Read-Eval-Synth Loop
25mLive Programming and Programming by Example: Better Together
15mProgram Sketching with Live Bidirectional Evaluation
49mAutomated Program Generation from Input-Output Examples
14mLooPy: Interactive Program Synthesis with Control Structures
25mExploratory Study on Multi-User Program Synthesis: A Multi-Wizard Approach
41m"Do What I Mean": The History of AI and Program Synthesis
15mExample-Driven Software Language Engineering
