paperbot · PL 论文追踪

全部论文 待读 收藏

P2 D <scp>euce</scp>

Deuce:面向自动程序变换的直接操作式结构感知代码编辑器
ICSE Proceedings of the 40th International Conference on Software Engineering2018匹配度 2/10 · 该论文研究结构感知代码编辑器与直接操作程序变换,属于 HCI/PL 开发者工具方向,与用户核心关注的 LLM/Agent 结合静态分析、形式化验证、浮点程序分析及贝叶斯程序分析无直接关联。仅在“程序变换/重构”背景上与 PL 略有交集,但不涉及静态分析或 LLM。引用 25 inbox
Brian Hempel, Justin Lubin, Grace Lu, Ravi Chugh
crossref: 2026-09-12

AI 速览

一句话:提出结构感知编辑器 Deuce,通过点击控件结构化选择并直接操作程序变换,用户研究显示其优于传统文本选择。

传统重构环境通常与基于文本的编辑工作流割裂。本文提出 Deuce,一种结构感知代码编辑器,将自动程序变换的直接操作能力紧密集成到文本编辑中。Deuce 在源代码上绘制可点击控件,使用户能对子表达式等非结构化文本进行结构化选择,并根据当前选择提供轻量级交互式变换菜单。作者在一个小型函数式语言中实现并评估了多数标准变换。一项 21 人受控用户研究表明,结构选择界面比传统文本选择更受偏好,且随着用户熟悉工具,整体操作可能更快。结果印证了 Deuce 在熟悉的文本编辑之上提供人性化结构交互的目标。

问题
传统重构工具往往难以融入基于文本的编辑工作流,用户需要以非结构化方式选择代码并调用变换。
方法
设计并实现 Deuce:在源代码上叠加可点击的结构化选择控件,并提供基于当前选择的交互式程序变换菜单。
评估
在小型函数式语言中实现多数标准变换,并通过 21 名参与者的受控用户研究,对比结构选择与传统文本选择。
原文摘要(Abstract)

We present a structure-aware code editor, called Deuce, that is equipped with direct manipulation capabilities for invoking automated program transformations. Compared to traditional refactoring environments, DEUCE employs a direct manipulation interface that is tightly integrated within a text-based editing workflow. In particular, Deuce draws (i) clickable widgets atop the source code that allow the user to structurally select the unstructured text for subexpressions and other relevant features, and (ii) a lightweight, interactive menu of potential transformations based on the current selections. We implement and evaluate our design with mostly standard transformations in the context of a small functional programming language. A controlled user study with 21 participants demonstrates that structural selection is preferred to a more traditional text-selection interface and may be faster overall once users gain experience with the tool. These results accord with Deuce's aim to provide human-friendly structural interactions on top of familiar text-based editing.

链接与引用

DOI 原文 · PDF(开放获取) ·

BibTeX
@inproceedings{paperbot4454,
  title = {D
            <scp>euce</scp>},
  author = {Brian Hempel and Justin Lubin and Grace Lu and Ravi Chugh},
  booktitle = {ICSE},
  year = {2018},
  doi = {10.1145/3180155.3180165}
}