reCode : A Lightweight Find-and-Replace Interaction in the IDE for Transforming Code by Example
Wode Ni, Joshua Sunshine, Vu Le, Sumit Gulwani, Titus Barik
摘要
Software developers frequently confront a recurring challenge of making 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 evaluation (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.
问问这篇 Paper
智能体会读完全文。
Lune 把这篇 Paper 索引到了最后一个公式,引用它的顶会 Paper 也一样。你提问,回答直接引用原文。
引用它的顶会 Paper7
- Grounded Copilot: How Programmers Interact with Code-Generating ModelsShraddha Barke, Michael B. James, Nadia PolikarpovaOOPSLA 2023 · 被引用 408 次
- SemanticOn: Specifying Content-Based Semantic Conditions for Web Automation ProgramsKevin Pu, Rainey Fu, Rui Dong, Xinyu Wang 等UIST 2022 · 被引用 16 次
- MELT: Mining Effective Lightweight Transformations from Pull RequestsDaniel Ramos, Hailie Mitchell, Inês Lynce, Vasco Manquinho 等ASE 2023 · 被引用 6 次
- FFL: A Language and Live Runtime for Styling and Labeling Typeset Math FormulasZhiyuan Wu, Jiening Li, Kevin Ma, Hita Kambhamettu 等UIST 2023 · 被引用 5 次
- DiLogics: Creating Web Automation Programs with Diverse LogicsKevin Pu, Jim Yang, Angel Yuan, Minyi Ma 等UIST 2023 · 被引用 5 次
它引用的顶会 Paper2
- Wrex: A Unified Programming-by-Example Interaction for Synthesizing Readable Code for Data ScientistsIan Drosos, Titus Barik, Philip J. Guo, Robert DeLine 等CHI 2020 · 被引用 110 次
- Feedback-driven semi-supervised synthesis of program transformationsXiang Gao, Shraddha Barke, Arjun Radhakrishna, Gustavo Soares 等OOPSLA 2020 · 被引用 17 次
相关 Paper
- Meta-Manager: A Tool for Collecting and Exploring Meta Information about CodeAmber Horvath, Andrew Macvean, Brad A. MyersCHI 2024 · 被引用 13 次
- Coeditor: Leveraging Repo-level Diffs for Code Auto-editingJiayi Wei, Greg Durrett, Isil DilligICLR 2024 · 被引用 5 次
- Sporq: An Interactive Environment for Exploring Code using Query-by-ExampleAaditya Naik, Jonathan Mendelson, Nathaniel Sands, Yuepeng Wang 等UIST 2021 · 被引用 11 次
- SPINFER: Inferring Semantic Patches for the Linux KernelLucas Serrano, Van-Anh Nguyen, Ferdian Thung, Lingxiao Jiang 等USENIX ATC 2020 · 被引用 16 次
- PYEVOLVE: Automating Frequent Code Changes in Python ML SystemsMalinda Dilhara, Danny Dig, Ameya KetkarICSE 2023 · 被引用 46 次
