Ivie: Lightweight Anchored Explanations of Just-Generated Code
arXiv:2403.02491 · doi:10.1145/3613904.3642239
Abstract
Programming assistants have reshaped the experience of programming into one where programmers spend less time writing and more time critically examining code. In this paper, we explore how programming assistants can be extended to accelerate the inspection of generated code. We introduce an extension to the programming assistant called Ivie, or instantly visible in-situ explanations. When using Ivie, a programmer's generated code is instantly accompanied by explanations positioned just adjacent to the code. Our design was optimized for extremely low-cost invocation and dismissal. Explanations are compact and informative. They describe meaningful expressions, from individual variables to entire blocks of code. We present an implementation of Ivie that forks VS Code, applying a modern LLM for timely segmentation and explanation of generated code. In a lab study, we compared Ivie to a contemporary baseline tool for code understanding. Ivie improved understanding of generated code, and was received by programmers as a highly useful, low distraction, desirable complement to the programming assistant.
15 pages, 10 figures, to be published in the CHI Conference on Human Factors in Computing Systems (CHI 24)
Cited by in corpus (5)
- Do It For Me vs. Do It With Me: Investigating User Perceptions of Different Paradigms of Automation in Copilots for Feature-Rich Software
- NeuroSync: Intent-Aware Code-Based Problem Solving via Direct LLM Understanding Modification
- A Systematic Literature Review of the Use of GenAI Assistants for Code Comprehension: Implications for Computing Education Research and Practice
- PLAID: Supporting Computing Instructors to Identify Domain-Specific Programming Plans at Scale
- Ragged Blocks: Rendering Structured Text with Style