Interpretable Program Synthesis
Tianyi Zhang, Zhiyang Chen, Yuanli Zhu, Priyan Vaithilingam, Xinyu Wang, Elena L. Glassman
Abstract
Program synthesis, which generates programs based on user-provided specifications, can be obscure and brittle: users have few ways to understand and recover from synthesis failures. We propose interpretable program synthesis, a novel approach that unveils the synthesis process and enables users to monitor and guide a synthesizer. We designed three representations that explain the underlying synthesis process with different levels of fidelity. We implemented an interpretable synthesizer for regular expressions and conducted a within-subjects study with eighteen participants on three challenging regex tasks. With interpretable synthesis, participants were able to reason about synthesis failures and provide strategic feedback, achieving a significantly higher success rate compared with a state-of-the-art synthesizer. In particular, participants with a high engagement tendency (as measured by NCS-6) preferred a deductive representation that shows the synthesis process in a search tree, while participants with a relatively low engagement tendency preferred an inductive representation that renders representative samples of programs enumerated during synthesis.
Ask about this paper
Ask your agent about it.
Lune has read the top-tier papers around this one, so every answer names the papers it rests on.
Your agent calls
Lunesearch_papers
Free to start. No credit card required.
Terminal
Install the CLIlune papers get 311adc23-65ab-461d-8c8a-8bcb026a090bCited by top-tier papers14
- Grounded Copilot: How Programmers Interact with Code-Generating ModelsShraddha Barke, Michael B. James, Nadia PolikarpovaOOPSLA 2023 · 408 citations
- Exploring the Learnability of Program Synthesizers by Novice ProgrammersDhanya Jayagopal, Justin Lubin, Sarah E. ChasinsUIST 2022 · 40 citations
- Data Formulator: AI-Powered Concept-Driven Visualization AuthoringChenglong Wang, John Thompson, Bongshin LeeIEEE VIS 2023 · 35 citations
- FlashFill++: Scaling Programming by Example by Cutting to the ChaseJosé Cambronero, Sumit Gulwani, Vu Le, Daniel Perelman et al.POPL 2023 · 27 citations
- Rigel: Transforming Tabular Data by Declarative MappingRan Chen, Di Weng, Yanwei Huang, Xinhuan Shu et al.IEEE VIS 2022 · 21 citations
Related papers
- Interactive Program Synthesis by Augmented ExamplesTianyi Zhang, London Lowmanstone, Xinyu Wang, Elena L. GlassmanUIST 2020 · 57 citations
- Multi-modal synthesis of regular expressionsQiaochu Chen, Xinyu Wang, Xi Ye, Greg Durrett et al.PLDI 2020 · 81 citations
- Generating Pragmatic Examples to Train Neural Program SynthesizersSaujas Vaduguru, Daniel Fried, Yewen PuICLR 2024 · 7 citations
- Explainable Program Synthesis by Localizing SpecificationsAmirmohammad Nazari, Yifei Huang, Roopsha Samanta, Arjun Radhakrishna et al.OOPSLA 2023 · 12 citations
- InfeRE: Step-by-Step Regex Generation via Chain of InferenceShuai Zhang, Xiaodong Gu, Yuting Chen, Beijun ShenASE 2023 · 8 citations
