2015 IEEE/ACM 37th IEEE International Conference on Software Engineering · 2015 · 81 citations · 27 references
ComputingComputer ScienceProgramming LanguagesSoftware EngineeringSystems ProgrammingSoftware MaintenanceVersion ControlVersion Control SystemsEnd-user Code EditingExplicit User FeedbackField Trial EvaluationRevisionsUndoUndo MechanismsUser FeedbackUser Feedback Management
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.
27
A state-of-the-art survey on software merging
Tom Mens · IEEE Transactions on Software Engineering · 2002 · 529 citations
Björn Hartmann, Loren Yu, Abel Allison et al. · 2008 · 146 citations
Reusable hierarchical command objects
Brad A. Myers, David S. Kosbie · 1996 · 145 citations · Full text