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
Link To Document