Title :
Supporting Selective Undo in a Code Editor
Author :
YoungSeok Yoon ; Myers, Brad A.
Author_Institution :
Inst. for Software Res., Carnegie Mellon Univ., Pittsburgh, PA, USA
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.
Keywords :
programming environments; text editing; user interfaces; AZURITE; Eclipse plug-in; backtracking tasks; code editor; programming environments; selective undo; user feedback; user interfaces; Control systems; Encoding; Graphical user interfaces; History; Layout; backtracking; selective undo;
Conference_Titel :
Software Engineering (ICSE), 2015 IEEE/ACM 37th IEEE International Conference on
Conference_Location :
Florence
DOI :
10.1109/ICSE.2015.43