Baar, ThomasMarković, Slaviša2006-02-152006-02-152006-02-152006https://infoscience.epfl.ch/handle/20.500.14299/224100Refactoring is a powerful technique to improve the quality of software models including implementation code. The software developer applies successively so-called refactoring rules on the current software model and transforms it into a new model. Ideally, the application of a refactoring rule preserves the semantics of the model on which it is applied. In this paper, we present a simple criterion and a proof technique for the semantic preservation of refactoring rules that are defined for UML class diagrams and OCL constraints. Our approach is based on a novel formalization of the OCL semantics in form of graph transformation rules. We illustrate our approach using the refactoring rule MoveAttribute.RefactoringsGraph TransformationsSemantic Preserving Model TransformationsUMLOCLQVTA Graphical Approach to Prove the Semantic Preservation of UML/OCL Refactoring Rulestext::report