Direct Manipulation and Natural Language Programming, Together at Last?
This program is tentative and subject to change.
Decades of programming languages research has contributed novel approaches to program editing that go beyond modifying text, including direct manipulation programming, structure editing, and automated refactoring tools. However, the rapid growth of natural language programming largely reinforces a view of programs as text and program editing as (unstructured) text transformation. How can we develop unified programming systems that bridge the gap between these approaches, supporting multiple editing paradigms in concert? And how would such systems change the way we program? We take a first step toward answering these questions by introducing a framework that enables program editing via both direct manipulation and natural language, and instantiate this framework in a variant of the cartokit direct manipulation programming system (cartokitDM+NL). Our key insight is to treat programs as sequences of structured edits and to use an edit language as a shared interface for both direct manipulation and natural language interactions, leveraging constrained decoding to support the latter. Using our instantiation, we conducted a within-subjects study (N=18) to understand how the combination of direct manipulation and natural language as editing modalities changes the programming process compared to each modality alone. Perhaps surprisingly, we found that study participants overwhelmingly favored direct manipulation editing, performing just 6.14% of edits via natural language. Our thematic analysis of study sessions revealed that direct manipulation aided task decomposition, encouraged incremental editing, and helped mitigate known challenges in natural language programming related to understanding model capabilities and interpreting model-generated code. Conversely, natural language editing came into play largely to automate, parameterize, and replay known edits that would otherwise be repeated tediously by hand. Our edit-based framework and study findings lay out a possible pathway for future research on programming systems that blend natural language with alternative editing modalities, building on the foundation of edit languages.
This program is tentative and subject to change.
Wed 7 OctDisplayed time zone: Pacific Time (US & Canada) change
15:30 - 17:00 | |||
15:30 18mTalk | Timeline: Adding the time dimension to spreadsheets OOPSLA Pre-print | ||
15:48 18mTalk | Direct Manipulation and Natural Language Programming, Together at Last? OOPSLA Parker Ziegler University of California at Berkeley, David Minh-Duy Cao University of California, Berkeley, Justin Lubin University of California at Berkeley, Sarah E. Chasins University of California at Berkeley Pre-print | ||
16:06 18mTalk | Geo: A Query Rewrite Framework for Graph Pattern Mining OOPSLA Nazanin Yousefian Simon Fraser University, Kasra Jamshidi Simon Fraser University, Keval Vora Simon Fraser University, Anders Miltner Simon Fraser University | ||
16:24 18mTalk | Synthesizing Graph Queries from Demonstrations OOPSLA Xiaoyu Liu Simon Fraser University, Qikang Liu Simon Fraser University, Evan Dyce Simon Fraser University, Keval Vora Simon Fraser University, Yuepeng Wang Simon Fraser University | ||
16:42 18mTalk | Semi-Declarative Language for Combinatorial Search OOPSLA | ||