A graph transformation approach to refactoring

  • Authors:
  • D. Janssens;Niels Van Eetvelde

  • Affiliations:
  • Universiteit Antwerpen (Belgium);Universiteit Antwerpen (Belgium)

  • Venue:
  • A graph transformation approach to refactoring
  • Year:
  • 2007

Quantified Score

Hi-index 0.01

Visualization

Abstract

Refactoring has become a popular approach for improving the structure of software without changing its functionality. Refactorings are usually specified in natural language for manual application or implemented in several popular Integrated Development Environments. Most of the times, these specifications lack the preciseness and clearness of a formal approach. As a result, no hard claims can be formulated about the correctness of these specifications. In this thesis it is investigated how the well-studied graph transformation framework can be used for specifying object-oriented software and for creating a formal, visual language for specifying refactorings. More precisely, a language-independent graph representation of object oriented programs is developed and it is shown how two new concepts, cloning and expansion, enhance the expressive power of graph transformation rules and hence allow a formal, concise and declarative specification of twenty representative refactorings.