• DocumentCode
    635189
  • Title

    Drag-and-drop refactoring: Intuitive and efficient program transformation

  • Author

    Yun Young Lee ; Chen, Ni ; Johnson, Reva E.

  • Author_Institution
    Univ. of Illinois at Urbana-Champaign, Urbana, IL, USA
  • fYear
    2013
  • fDate
    18-26 May 2013
  • Firstpage
    23
  • Lastpage
    32
  • Abstract
    Refactoring is a disciplined technique for restructuring code to improve its readability and maintainability. Almost all modern integrated development environments (IDEs) offer built-in support for automated refactoring tools. However, the user interface for refactoring tools has remained largely unchanged from the menu and dialog approach introduced in the Smalltalk Refactoring Browser, the first automated refactoring tool, more than a decade ago. As the number of supported refactorings and their options increase, invoking and configuring these tools through the traditional methods have become increasingly unintuitive and inefficient. The contribution of this paper is a novel approach that eliminates the use of menus and dialogs altogether. We streamline the invocation and configuration process through direct manipulation of program elements via drag-and-drop. We implemented and evaluated this approach in our tool, Drag-and-Drop Refactoring (DNDRefactoring), which supports up to 12 of 23 refactorings in the Eclipse IDE. Empirical evaluation through surveys and controlled user studies demonstrates that our approach is intuitive, more efficient, and less error-prone compared to traditional methods available in IDEs today. Our results bolster the need for researchers and tool developers to rethink the design of future refactoring tools.
  • Keywords
    software maintenance; software tools; user interfaces; DNDRefactoring; Eclipse IDE; automated refactoring tools; code restructuring; drag-and-drop refactoring; integrated development environments; program transformation; user interface; Data mining; Irrigation; Java; Keyboards; Navigation; Usability; User interfaces;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Software Engineering (ICSE), 2013 35th International Conference on
  • Conference_Location
    San Francisco, CA
  • Print_ISBN
    978-1-4673-3073-2
  • Type

    conf

  • DOI
    10.1109/ICSE.2013.6606548
  • Filename
    6606548