Formalizing refactorings with graph transformations: Research Articles

  • Authors:
  • Tom Mens;Niels Van Eetvelde;Serge Demeyer;Dirk Janssens

  • Affiliations:
  • Service de Génie Logiciel, Université de Mons-Hainaut, Avenue du Champ de Mars 6, 7000 Mons, Belgium;Department of Mathematics and Computer Science, Universiteit Antwerpen, Middelheimlaan 1, 2020 Antwerpen, Belgium;Department of Mathematics and Computer Science, Universiteit Antwerpen, Middelheimlaan 1, 2020 Antwerpen, Belgium;Department of Mathematics and Computer Science, Universiteit Antwerpen, Middelheimlaan 1, 2020 Antwerpen, Belgium

  • Venue:
  • Journal of Software Maintenance and Evolution: Research and Practice
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

The widespread interest in refactoring—transforming the source-code of an object-oriented program without changing its external behaviour—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 © 2005 John Wiley & Sons, Ltd.