Analysing refactoring dependencies using graph transformation

被引:81
作者
Mens, Tom [1 ]
Taentzer, Gabriele [2 ]
Runge, Olga [3 ]
机构
[1] Univ Mons, Software Engn Lab, B-7000 Mons, Belgium
[2] Univ Marburg, Fac Math & Comp Sci, D-35032 Marburg, Germany
[3] Tech Univ Berlin, D-10587 Berlin, Germany
关键词
refactoring; graph transformation; critical pair analysis; dependency analysis; AGG;
D O I
10.1007/s10270-006-0044-6
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Refactoring is a widely accepted technique to improve the structure of object-oriented software. Nevertheless, existing tool support remains restricted to automatically applying refactoring transformations. Deciding what to refactor and which refactoring to apply still remains a difficult manual process, due to the many dependencies and interrelationships between relevant refactorings. In this paper, we represent refactorings as graph transformations, and we propose the technique of critical pair analysis to detect the implicit dependencies between refactorings. The results of this analysis can help the developer to make an informed decision of which refactoring is most suitable in a given context and why. We report on several experiments we carried out in the AGG graph transformation tool to support our claims.
引用
收藏
页码:269 / 285
页数:17
相关论文
共 39 条
[1]  
[Anonymous], 1993, TERM GRAPH REWRITING
[2]  
[Anonymous], THESIS U BERN
[3]  
Boger M., 2002, P INT C EXTR PROGR F, P77
[4]   Efficient parsing of visual languages based on critical pair analysis and contextual layered graph transformation [J].
Bottoni, P ;
Taentzer, G ;
Schürr, A .
2000 IEEE INTERNATIONAL SYMPOSIUM ON VISUAL LANGUAGES, PROCEEDINGS, 2000, :59-60
[5]  
BOTTONI P, 2005, TRANSFORMATION KNOWL
[6]  
BOTTONI P, 2004, LNCS, V3062, P220, DOI DOI 10.1007/978-3-540-25959-6_16
[7]  
Corradini A., 1996, Fundamenta Informaticae, V26, P241
[8]  
Correa A, 2004, LECT NOTES COMPUT SC, V3273, P173
[9]  
DEMEYER S, 2002, ELECT NOTES THEOR CO, V72
[10]  
Ehrig H, 2004, LECT NOTES COMPUT SC, V3256, P161