• DocumentCode
    3032686
  • Title

    Design and implementation of an extensible and modifiable refactoring tool

  • Author

    Maruyama, Katsuhisa ; Yamamoto, Shinichiro

  • Author_Institution
    Dept. of Comput. Sci., Ritsumeikan Univ., Shiga, Japan
  • fYear
    2005
  • fDate
    15-16 May 2005
  • Firstpage
    195
  • Lastpage
    204
  • Abstract
    Refactoring is an essential and useful practice in developing and maintaining object-oriented software since it improves the design of existing code without changing its external behavior. Therefore, several refactoring tools tend to be integrated into contemporary IDEs. However, these tools represent source code as an abstract syntax tree (AST) and thus their implementations are hard to extend and modify. This paper presents Jrbx, a refactoring tool that uses a fine-grained XML representation of source code and supports stylized manipulations of the representation. Moreover, Jrbx aggressively exploits control flow graphs (CFGs) and program dependence graphs (PDGs) for both precondition checking and change creation. The use of the XML, CFG, and PDG representations makes the implementation of Jrbx more understandable and reusable, and thus facilitates tool developers creating new refactorings and modifying existing ones.
  • Keywords
    XML; flow graphs; object-oriented programming; reverse engineering; software maintenance; software reusability; software tools; AST; CFG; IDE; Jrbx; PDG; XML representation; abstract syntax tree; control flow graph; extensible refactoring tool design; modifiable refactoring tool; object-oriented software maintenance; program dependence graph; source code; Computer science; Conferences; Flow graphs; Information analysis; Information systems; Programming profession; Registers; Software maintenance; Tree graphs; XML;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Program Comprehension, 2005. IWPC 2005. Proceedings. 13th International Workshop on
  • ISSN
    1092-8138
  • Print_ISBN
    0-7695-2254-8
  • Type

    conf

  • DOI
    10.1109/WPC.2005.17
  • Filename
    1421035