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.
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},
}