Software & Systems Modeling

, Volume 6, Issue 3, pp 269–285

Analysing refactoring dependencies using graph transformation

Special Section Paper

DOI: 10.1007/s10270-006-0044-6

Cite this article as:
Mens, T., Taentzer, G. & Runge, O. Softw Syst Model (2007) 6: 269. doi:10.1007/s10270-006-0044-6


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.


RefactoringGraph transformationCritical pair analysisDependency analysisAGG

Copyright information

© Springer-Verlag 2007

Authors and Affiliations

  1. 1.Software Engineering LabUniversité de Mons-HainautMonsBelgium
  2. 2.Faculty of Mathematics and Computer SciencePhilipps- Universität MarburgMarburgGermany
  3. 3.Technische Universität BerlinBerlinGermany