Analysing refactoring dependencies using unfolding of graph transformation systems
Fawad Qayum, Reiko Heckel · 2009
Refactoring has emerged as a successful technique to reduce complexity of object oriented designs. But due to implicit dependencies not all sequences of refactorings are appropriate. In this paper we model refactoring steps as graph transformation and use the unfolding analysis technique to choose the sequence of refactorings best suited in order to improve the design. We use graphs to represent software architectures at the class level and graph transformation to formally describe their refactoring operations. This makes it possible to use concepts and techniques from the theory of graph transformation, such as unfolding to identify dependencies between refactoring steps.