Interactive Program Synthesis by Augmented Examples
Authors
Programming-by-example (PBE) has become an increasingly popular component in software development tools, humanrobot interaction, and end-user programming. A long-standing challenge in PBE is the inherent ambiguity in user-provided examples. This paper presents an interaction model to disambiguate user intent and reduce the cognitive load of understanding and validating synthesized programs. Our model provides two types of augmentations to user-given examples: 1) semantic augmentation where a user can specify how different aspects of an example should be treated by a synthesizer via light-weight annotations, and 2) data augmentation where the synthesizer generates additional examples to help the user understand and validate synthesized programs. We implement and demonstrate this interaction model in the domain of regular expressions, which is a popular mechanism for text processing and data wrangling and is often considered hard to master even for experienced programmers. A within-subjects user study with twelve participants shows that, compared with only inspecting and annotating synthesized programs, interacting with augmented examples significantly increases the success rate of finishing a programming task with less time and increases users’ confidence of synthesized programs.
Research Questions / Practical Problems
Question signals indexed for this paper.
- 80%
Ply: A Visual Web Inspector for Learning from Professional Webpages
UIST '18· Programming Education & Computational Thinking +1
- 75%
Extending a Reactive Expression Language with Data Update Actions for End-User Application Authoring
UIST '18· Programming Education & Computational Thinking +1
- 60%
Improving Discoverability and Expert Performance in Force-Sensitive Text Selection for Touch Devices with Mode Gauges
CHI '18· Force Feedback & Pseudo-Haptic Weight +1
- 60%
Doppio: Tracking UI Flows and Code Changes for App Development
CHI '18· Knowledge Worker Tools & Workflows +1
- 60%
Training Person-Specific Gaze Estimators from User Interactions with Multiple Devices
CHI '18· Eye Tracking & Gaze Interaction +1
- 60%
Computational Support for Functionality Selection in Interaction Design
CHI '18· User Research Methods (Interviews, Surveys, Observation) +1
- 60%
Crowdsourcing Interface Feature Design with Bayesian Optimization
CHI '19· Crowdsourcing Task Design & Quality Control +1
- 60%
TapNet: The Design, Training, Implementation, and Applications of a Multi-Task Learning CNN for Off-Screen Mobile Input
CHI '21· Foot & Wrist Interaction +1
- 60%
Varv: Reprogrammable Interactive Software as a Declarative Data Structure
CHI '22· Prototyping & User Testing +1
- 60%
Learning to Denoise Raw Mobile UI Layouts for Improving Datasets at Scale
CHI '22· Prototyping & User Testing +1
Based on Jaccard similarity of research subtopics & professions (≥60%)