reCode: A Lightweight Find-and-Replace Interaction in the IDE for Transforming Code by Example
Authors
Software developers frequently confront a recurring challenge of making systematic code transformations---similar but not entirely identical code changes in many places---in their integrated development environments. Through formative interviews (n=7), we found that developers were aware of many tools intended to help with code transformations, but often made their changes manually because these tools required too much expertise or effort to be able to use effectively. To address these needs, we built an extension for Visual Studio Code, called reCode. reCode improves the familiar find-and-replace experience by allowing the developer to specify a straightforward search term to identify relevant locations, and then demonstrate their intended changes by simply typing a change directly in the editor. Using programming by example, reCode automatically learns a more general code transformation and displays these transformations as before-and-after differences inline, with clickable actions to interactively accept, reject, or refine the proposed changes. In our usability study (n=12), developers reported that this mixed-initiative, example-driven experience is intuitive, complements their existing workflow, and offers a unified approach to conveniently tackle a variety of common yet frustrating scenarios for code transformations.
Research Questions / Practical Problems
Question signals indexed for this paper.
- 80%
Rapsai: Accelerating Machine Learning Prototyping of Multimedia Applications through Visual Programming
CHI '23· Human-LLM Collaboration +1
- 80%
CoLadder: Manipulating Code Generation via Multi-Level Blocks
UIST '24· Human-LLM Collaboration +1
- 75%
Tap&Say: Touch Location-Informed Large Language Model for Multimodal Text Correction on Smartphones
CHI '25· Human-LLM Collaboration
- 67%
Beyond Code Generation: LLM-supported Exploration of the Program Design Space
CHI '25· Generative AI (Text, Image, Music, Video) +2
- 67%
Linting Style and Substance in READMEs
CHI '26· Computational Methods in HCI +2
- 67%
The Way We Notice, That’s What Really Matters: Instantiating UI Components with Distinguishing Variations
CHI '26· Human-LLM Collaboration +2
- 67%
Athena: Intermediate Representations for Iterative Scaffolded App Generation with an LLM
IUI '26· Human-LLM Collaboration +2
- 60%
GestAKey: Touch Interaction on Individual Keycaps
CHI '18· Hand Gesture Recognition +1
- 60%
Improving Discoverability and Expert Performance in Force-Sensitive Text Selection for Touch Devices with Mode Gauges
CHI '18· Force Feedback & Pseudo-Haptic Weight +1
- 60%
Doppio: Tracking UI Flows and Code Changes for App Development
CHI '18· Knowledge Worker Tools & Workflows +1
Based on Jaccard similarity of research subtopics & professions (≥60%)