The widespread interest in refactoring^A -^A transforming the source-code of an object-oriented program without changing its external behaviour^A -^A has increased the need for a precise definition of refactoring transformations and their properties. In this paper we explore the use of graph rewriting for specifying refactorings and their effect on programs. We introduce a graph representation for programs and show how two representative refactorings can be expressed by graph productions. Then we demonstrate that it is possible to prove that refactorings preserve certain program properties, and that graph rewriting is a suitable formalism for such proofs. Copyright copyright 2005 John Wiley & Sons, Ltd.
%0 Journal Article
%1 mens_05_formalizing
%A Mens, Tom
%A Eetvelde, Niels Van
%A Demeyer, Serge
%A Janssens, Dirk
%D 2005
%J Journal of Software Maintenance and Evolution: Research and Practice
%K _hardcopy 2005 _folder_2 graph_transformation refactoring
%N 4
%P 247--276
%R 10.1002/smr.316
%T Formalizing refactorings with graph transformations
%U http://dx.doi.org/10.1002/smr.316
%V 17
%X The widespread interest in refactoring^A -^A transforming the source-code of an object-oriented program without changing its external behaviour^A -^A has increased the need for a precise definition of refactoring transformations and their properties. In this paper we explore the use of graph rewriting for specifying refactorings and their effect on programs. We introduce a graph representation for programs and show how two representative refactorings can be expressed by graph productions. Then we demonstrate that it is possible to prove that refactorings preserve certain program properties, and that graph rewriting is a suitable formalism for such proofs. Copyright copyright 2005 John Wiley & Sons, Ltd.
@article{mens_05_formalizing,
abstract = {The widespread interest in refactoring^{A} -^{A} transforming the source-code of an object-oriented program without changing its external behaviour^{A} -^{A} has increased the need for a precise definition of refactoring transformations and their properties. In this paper we explore the use of graph rewriting for specifying refactorings and their effect on programs. We introduce a graph representation for programs and show how two representative refactorings can be expressed by graph productions. Then we demonstrate that it is possible to prove that refactorings preserve certain program properties, and that graph rewriting is a suitable formalism for such proofs. Copyright {copyright} 2005 John Wiley & Sons, Ltd.},
added-at = {2009-02-11T21:03:24.000+0100},
author = {Mens, Tom and Eetvelde, Niels Van and Demeyer, Serge and Janssens, Dirk},
biburl = {https://www.bibsonomy.org/bibtex/2481dfc15a1efd18a3f485ae901a44477/leonardo},
citeulike-article-id = {306412},
doi = {10.1002/smr.316},
interhash = {80f800a676ba171c809bff85bd75a7ac},
intrahash = {481dfc15a1efd18a3f485ae901a44477},
issn = {1532-0618},
journal = {Journal of Software Maintenance and Evolution: Research and Practice},
keywords = {_hardcopy 2005 _folder_2 graph_transformation refactoring},
month = {July},
number = 4,
pages = {247--276},
posted-at = {2007-05-22 13:04:32},
priority = {5},
timestamp = {2009-02-11T21:03:24.000+0100},
title = {Formalizing refactorings with graph transformations},
url = {http://dx.doi.org/10.1002/smr.316},
volume = 17,
year = 2005
}