Publication type: |
Article |
Author: |
Berthold Hoffmann, Dirk Janssens, Van Eetvelde, Niels |
Title: |
Cloning and Expanding Graph Transformation Rules for Refactoring |
Volume: |
152 |
Page(s): |
53 – 67 |
Journal: |
Electronic Notes in Theoretical Computer Science |
Year published: |
2006 |
Abstract: |
Refactoring is a software engineering technique that aims at enhancing the structure of object-oriented software while preserving its behavior. Several authors have studied how graph transformation can be used to specify refactoring, because such specifications are more precise and can thus, in principle, easier be verified to preserve a program's behavior.
It has turned out that ``standard'' ways of graph transformation do not suffice to define refactoring: their expressive power must be increased if they shall be useful in this application area. Two mechanisms have been proposed so far: one for cloning, and one for expanding nodes by graphs. However, the mechanisms and notations needed are rather complex. In this paper we provide, in the context of double pushout graph transformation, a more elegant and intuitive description. It is based on a notion of rule instantiation, where the instantiation transforms rule schemes into rule instances by cloning and expansion. The power of the technique is demonstrated by an application to two well-known refactoring operations. |
PDF Version: |
http://www.informatik.uni-bremen.de/~hof/papers/gmt05.pdf |
PostScript Version: |
http://www.informatik.uni-bremen.de/~hof/papers/gmt05.ps.gz |
Status: |
Reviewed |
Last updated: |
16. 03. 2006 |
|
|