Deuce: A Lightweight UI for Structured Editing
Channel: plasticchickenfire
Date: 2018-06-06

Deuce: A Lightweight UI for Structured Editing
Brian Hempel, Justin Lubin, Grace Lu, Ravi Chugh
As presented at ICSE 2018 (although this is an offline recording).

Paper: https://arxiv.org/pdf/1707.00015
Website and in-browser demo: https://ravichugh.github.io/sketch-n-sketch/

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.