kirancodes.me
To Proof Maintenance & Beyond!

Supporting Selective Undo in a Code Editor

YoungSeok Yoon, Brad A. Myers

Abstract

Programmers often need to revert some code to an earlier state, or restore a block of code that was deleted a while ago. However, support for this backtracking in modern programming environments is limited. Many of the backtracking tasks can be accomplished by having a selective undo feature in code editors, but this has major challenges: there can be conflicts among edit operations, and it is difficult to provide usable interfaces for selective undo. In this paper, we present AZURITE, an Eclipse plug-in that allows programmers to selectively undo fine-grained code changes made in the code editor. With AZURITE, programmers can easily perform backtracking tasks, even when the desired code is not in the undo stack or a version control system. AZURITE also provides novel user interfaces specifically designed for selective undo, which were iteratively improved through user feedback gathered from actual users in a preliminary field trial. A formal lab study showed that programmers can successfully use AZURITE, and were twice as fast as when limited to conventional features.

BibTeX
@inproceedings{Yoon-Myers:ICSE15,
  author    = {YoungSeok Yoon and
               Brad A. Myers},
  title     = {Supporting Selective Undo in a Code Editor},
  booktitle = {ICSE (Part I)},
  pages     = {223--233},
  publisher = {{IEEE} Computer Society},
  year      = {2015},
}

Related papers