Article,

Analysing refactoring dependencies using graph transformation

, , and .
Software and Systems Modeling, 6 (3): 269--285 (September 2007)
DOI: http://dx.doi.org/10.1007/s10270-006-0044-6

Abstract

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.

Tags

Users

  • @leonardo

Comments and Reviews