reCode : A Lightweight Find-and-Replace Interaction in the IDE for Transforming Code by Example
reCode : A Lightweight Find-and-Replace Interaction in the IDE for Transforming Code by Example
复制标题
reCode:IDE 中的轻量级查找和替换交互,用于通过示例转换代码
DOI:
--
复制
发表时间:
2021
期刊:
影响因子:
--
通讯作者:
Titus Barik
中科院分区:
文献类型:
--
作者:
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.
DOI:
10.1145/3314221.3314589
发表时间:
2019
期刊:
Proceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and Implementation
影响因子:
--
作者:
van Tonder, Rijnard;Le Goues, Claire
通讯作者:
Le Goues, Claire
DOI:
10.1145/3313831.3376442
发表时间:
2020
期刊:
CHI 2020
影响因子:
--
作者:
Drosos, Ian;Barik, Titus;Guo, Philip J.;DeLine, Robert;Gulwani, Sumit
通讯作者:
Gulwani, Sumit