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
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;
Conference_Titel :
Program Comprehension, 2005. IWPC 2005. Proceedings. 13th International Workshop on
Print_ISBN :
0-7695-2254-8
DOI :
10.1109/WPC.2005.17