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
期刊:
ACM Symposium on User Interface Software and Technology
影响因子:
--
通讯作者:
Titus Barik
Titus Barik
中科院分区:
--
文献类型:
--
作者:
Wode Ni;Joshua Sunshine;Vu Le;Sumit Gulwani;Titus Barik

文献摘要

参考文献

被引文献

相似文献

软件开发人员经常面临在集成开发环境中进行代码转换的挑战,在许多地方进行类似但不完全相同的代码更改。通过形成性访谈(n = 7),我们发现开发人员知道许多旨在帮助代码转换的工具,但通常手动进行更改,因为这些工具需要太多的专业知识或努力才能有效使用。为了满足这些需求,我们为Visual Studio Code构建了一个扩展,称为reCode。reCode改进了熟悉的查找和替换体验,允许开发人员指定一个简单的搜索词来识别相关位置,然后通过直接在编辑器中键入更改来演示他们想要的更改。通过示例编程,reCode自动学习更通用的代码转换,并将这些转换显示为内联的前后差异,并通过可单击的操作来交互式地接受,拒绝或细化建议的更改。在我们的可用性评估(n = 12)中,开发人员报告说,这种混合主动,示例驱动的体验是直观的,补充了他们现有的工作流程,并提供了一种统一的方法来方便地解决各种常见但令人沮丧的代码转换场景。
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
Wrex:用于为数据科学家合成可读代码的统一示例编程交互
DOI: 10.1145/3313831.3376442
发表时间: 2020
期刊: CHI 2020
影响因子: --
作者:
Drosos, Ian;Barik, Titus;Guo, Philip J.;DeLine, Robert;Gulwani, Sumit
通讯作者: Gulwani, Sumit