Towards Automating Source-Consistent UML Refactorings

Pieter Van Gorp, Hans Stenten, Tom Mens, Serge Demeyer

Research output: Chapter in Book/Report/Conference proceedingConference contributionAcademicpeer-review

49 Citations (Scopus)


With the increased interest in refactoring, UML tool vendors seek ways to support software developers in applying a (sequence of) refactoring(s). The problem with such tools is that the UML metamodel – on which their repository is based – is inadequate to maintain the consistency between the model and the code while one of them gets refactored. Therefore, we propose a set of minimal extensions to the UML metamodel, which is sufficient to reason about refactoring for all common OO languages. For instance, by specifying pre- and postconditions in OCL, we are able to compose primitive refactorings, verify preservation of program behavior, and trigger refactorings based on code smells. This way, we provide future MDA tools with the ability to improve existing UML designs, yet keeping them in synch with the underlying code base.
Original languageEnglish
Title of host publicationUML 2003 - The Unified Modeling Language. Modeling Languages and Applications
Subtitle of host publication6th International Conference, San Francisco, CA, USA, October 20-24, 2003. Proceedings
EditorsPerdita Stevens, Jon Whittle, Grady Booch
Place of PublicationBerlin
Number of pages15
ISBN (Electronic)978-3-540-45221-8
ISBN (Print)978-3-540-20243-1
Publication statusPublished - 2003
Externally publishedYes
Event6th International Conference on the Unified Modeling Language (UML 2003) - San Francisco, United States
Duration: 20 Oct 200324 Oct 2003
Conference number: 6

Publication series

NameLecture Notes in Computer Science (LNCS)
ISSN (Print)0302-9743
ISSN (Electronic)1611-3349


Conference6th International Conference on the Unified Modeling Language (UML 2003)
Abbreviated titleUML 2003
Country/TerritoryUnited States
CitySan Francisco


Dive into the research topics of 'Towards Automating Source-Consistent UML Refactorings'. Together they form a unique fingerprint.

Cite this