Search papers, labs, and topics across Lattice.
This paper introduces a framework that integrates direct manipulation and natural language programming for program editing, addressing the limitations of viewing programs solely as text. Through a within-subjects study with 18 participants, the authors found that users preferred direct manipulation for 93.86% of their edits when both modalities were available, highlighting the effectiveness of this approach in facilitating task decomposition and incremental editing. The findings suggest that combining these editing paradigms can enhance user experience and mitigate challenges associated with natural language programming, paving the way for more versatile programming systems.
Users overwhelmingly prefer direct manipulation for program editing, even when natural language options are available, revealing insights into user behavior and preferences in programming environments.
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? 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 $\texttt{cartokit}$ direct manipulation programming system. 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 chose to edit via direct manipulation when both modalities were available, 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 model-generated code. 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.