From C++ Refactorings to Graph Transformations

Abstract

In this paper, we study a metamodel for the C++ programming language. We work out refactorings on the C++ metamodel and present the essentials as graph transformations. The refactorings are demonstrated in terms of the C++ source code and the C++ target code as well. Graph transformations allow to capture refactoring details on a conceptual and easy to understand, but also very precise level. Using this approach we managed to formalize two major aspects of refactorings: the structural changes and the preconditions.

Publication
Electronic Communications of the EASST, 3:127–141

BibTeX:

@Article{VGF06,
    author   = {Vid{\'a}cs, L{\'a}szl{\'o} and Gogolla, Martin and Ferenc, Rudolf},
    title    = {From {C++} Refactorings to Graph Transformations},
    journal  = {Electronic Communications of the {EASST}},
    year     = {2006},
    volume   = {3},
    pages    = {127--141},
    month    = sep,
    issn     = {1863-2122},
    doi      = {10.14279/tuj.eceasst.3.10},
    keywords = {Metamodel, C++, UML, Graph Transformation, OCL, Refactoring},
    url      = {https://journal.ub.tu-berlin.de/eceasst/article/view/10},
}