skip to main content
10.1145/2486046.2486057acmotherconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
Article

Supporting process undo and redo in software engineering decision making

Published:18 May 2013Publication History

ABSTRACT

This paper presents a provenance-based approach for supporting undo and redo for software engineers. Writing software entails creating and reworking intricately intertwined software artifacts. After discovering a mistake in an earlier-completed task, a developer may wish to redo this task, but without undoing much of the work done since. Unfortunately, state-of-the-practice undo and redo mechanisms force the developer to manually redo the work completed since the mistake. This can cause considerable extra, often error-prone work.

We propose tracking the software engineering process provenance data, and using it to enable (1) undoing tasks by reverting the state of the process execution, (2) revisiting an old task while storing the provenance of undone tasks, and (3) automatically redoing those undone tasks that are consistent with the revision. Our case study of a developer performing a well-understood but complex refactoring demonstrates how our approach can greatly reduce the cost of mistakes made early but discovered late.

References

  1. J. E. Archer, Jr., R. Conway, and F. B. Schneider. User recovery and reversal in interactive systems. ACM TPLS, 6(1):1–19, 1984. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. T. Berlage. A selective undo mechanism for graphical user interfaces based on command objects. ACM TCHI, 1(3):269–294, 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. M. Fowler and K. Beck. Refactoring: Improving the Design of Existing Code. Prentice Hall, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. G. B. Leeman, Jr. A formal approach to undo operations in programming languages. ACM TPLS, 8(1):50–87, 1986. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. B. Lerner, E. R. Boose, L. J. Osterweil, A. Ellison, and L. Clarke. Provenance and quality control in sensor networks. In EIM, 2011.Google ScholarGoogle Scholar
  6. J. R. Rhyne and C. G. Wolf. Tools for supporting the collaborative process. In UIST, pages 161–170, 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. G. Sironi. Practical PHP refactoring: Tease apart inheritance. http://css.dzone.com/articles/ practical-php-refactoring-47, 2012.Google ScholarGoogle Scholar
  8. A. Wise. Little-JIL 1.5 language report. Technical Report UM-CS-2006-51, U. of Massachusetts, Amherst, 2006.Google ScholarGoogle Scholar
  9. X. Zhao and L. J. Osterweil. An approach to modeling and supporting the rework process in refactoring. In ICSSP, pages 110–119, 2012.Google ScholarGoogle Scholar

Index Terms

  1. Supporting process undo and redo in software engineering decision making

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in
        • Published in

          cover image ACM Other conferences
          ICSSP 2013: Proceedings of the 2013 International Conference on Software and System Process
          May 2013
          180 pages
          ISBN:9781450320627
          DOI:10.1145/2486046

          Copyright © 2013 ACM

          Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 18 May 2013

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • Article

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader