Refactorings are program transformations that improve the software structure while preserving the external behaviour. In spite of this very useful property, refactorings can still give rise to structural conflicts when parallel evolutions to the same software are made by different developers. This paper explores this problem of structural evolution conflicts in a formal way by using graph transformation and critical pair analysis. Based on experiments carried out in the graph transformation tool AGG, we show how this formalism can be exploited to detect and resolve refactoring conflicts.
Mens et al. REF detected UML refactoring conflicts through graph transformation and by specifying critical pairs.
Detecting Structural Refactoring Conflicts Using Critical Pair Analysis
Electron. Notes Theor. Comput. Sci.
Electron. Notes Theor. Comput. Sci.
Computer Science