Exploring the Learnability of Program Synthesizers by Novice Programmers
Dhanya Jayagopal, Justin Lubin, Sarah E. Chasins
Abstract
Modern program synthesizers are increasingly delivering on their promise of lightening the burden of programming by automatically generating code, but little research has addressed how we can make such systems learnable to all. In this work, we ask: What aspects of program synthesizers contribute to and detract from their learnability by novice programmers? We conducted a thematic analysis of 22 observations of novice programmers, during which novices worked with existing program synthesizers, then participated in semi-structured interviews. Our findings shed light on how their specific points in the synthesizer design space affect these tools’ learnability by novice programmers, including the type of specification the synthesizer requires, the method of invoking synthesis and receiving feedback, and the size of the specification. We also describe common misconceptions about what constitutes meaningful progress and useful specifications for the synthesizers, as well as participants’ common behaviors and strategies for using these tools. From this analysis, we offer a set of design opportunities to inform the design of future program synthesizers that strive to be learnable by novice programmers. This work serves as a first step toward understanding how we can make program synthesizers more learnable by novices, which opens up the possibility of using program synthesizers in educational settings as well as developer tooling oriented toward novice programmers.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext a4f355bf-cc9b-4cc3-a07e-0db2093dd6a0Cited by top-tier papers13
- Grounded Copilot: How Programmers Interact with Code-Generating ModelsShraddha Barke, Michael B. James, Nadia PolikarpovaOOPSLA 2023 · 408 citations
- Studying the effect of AI Code Generators on Supporting Novice Learners in Introductory ProgrammingMajeed Kazemitabaar, Justin Chow, Carl Ka To Ma, Barbara J. Ericson et al.CHI 2023 · 348 citations
- The Metacognitive Demands and Opportunities of Generative AILev Tankelevitch, Viktor Kewenig, Auste Simkute, Ava Elizabeth Scott et al.CHI 2024 · 279 citations
- A Large-Scale Survey on the Usability of AI Programming Assistants: Successes and ChallengesJenny T. Liang, Chenyang Yang, Brad A. MyersICSE 2024 · 126 citations
- "What It Wants Me To Say": Bridging the Abstraction Gap Between End-User Programmers and Code-Generating Large Language ModelsMichael Xieyang Liu, Advait Sarkar, Carina Negreanu, Benjamin G. Zorn et al.CHI 2023 · 114 citations
Builds on12
- Wrex: A Unified Programming-by-Example Interaction for Synthesizing Readable Code for Data ScientistsIan Drosos, Titus Barik, Philip J. Guo, Robert DeLine et al.CHI 2020 · 110 citations
- Discovering the Syntax and Strategies of Natural Language Programming with Generative Language ModelsEllen Jiang, Edwin Toh, Alejandra Molina, Kristen Olson et al.CHI 2022 · 76 citations
- Scout: Rapid Exploration of Interface Layout Alternatives through High-Level Design ConstraintsAmanda Swearngin, Chenglong Wang, Alannah Oleson, James Fogarty et al.CHI 2020 · 58 citations
- Interactive Program Synthesis by Augmented ExamplesTianyi Zhang, London Lowmanstone, Xinyu Wang, Elena L. GlassmanUIST 2020 · 57 citations
- Projection Boxes: On-the-fly Reconfigurable Visualization for Live ProgrammingSorin LernerCHI 2020 · 52 citations
Related papers
- Guiding Program Synthesis by Learning to Generate ExamplesLarissa Laich, Pavol Bielik, Martin T. VechevICLR 2020 · 17 citations
- Interpretable Program SynthesisTianyi Zhang, Zhiyang Chen, Yuanli Zhu, Priyan Vaithilingam et al.CHI 2021 · 25 citations
- Using Reactive Synthesis: An End-to-End Exploratory Case StudyDor Ma'ayan, Shahar MaozICSE 2023 · 10 citations
- PaTAT: Human-AI Collaborative Qualitative Coding with Explainable Interactive Rule SynthesisSimret Araya Gebreegziabher, Zheng Zhang, Xiaohang Tang, Yihao Meng et al.CHI 2023 · 70 citations
- Incremental Program Synthesis from Event LogsJinwoo Kim, Victor Nicolet, Joey Dodds, Loris D'AntoniOOPSLA 2026
