, Volume 6, Issue 3, pp 269-285

Analysing refactoring dependencies using graph transformation

Rent the article at a discount

Rent now

* Final gross prices may vary according to local VAT.

Get Access


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.

Communicated by Dr. Francesco Parisi-Presicce.