Formal Model-Driven Program Refactoring

  • Tiago Massoni
  • Rohit Gheyi
  • Paulo Borba
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4961)

Abstract

Evolutionary tasks, specially refactoring, affect source code and object models, hindering correctness and conformance. Due to the gap between object models and programs, refactoring tasks get duplicated in commonly-used model-driven development approaches, such as Round-Trip Engineering. In this paper, we propose a formal approach to consistently refactor systems in a model-driven manner. Each object model refactoring applied by the user is associated with a sequence of behavior preserving program transformations, which can be semi-automatically performed to an initially conforming program. As a consequence, this foundation for model-driven refactoring guarantees behavior preservation of the target program, besides its conformance with the refactored object model. This approach is described in detail, along with its formal infrastructure, including a conformance relationship between object models and programs. A case study reveals evidence on issues that will surely recur in other model-driven development contexts.

Copyright information

© Springer-Verlag Berlin Heidelberg 2008

Authors and Affiliations

  • Tiago Massoni
    • 1
  • Rohit Gheyi
    • 2
  • Paulo Borba
    • 2
  1. 1.Department of Computing SystemsUniversity of Pernambuco 
  2. 2.Informatics CenterFederal University of Pernambuco 

Personalised recommendations