Model-and-Code Consistency Checking

by Markus Riedl-Ehrenleitner
Abstract:
In model-driven engineering, design models raise the level of abstraction and allow for efficient designing without considering implementation details. Still, it is crucial that design models and source code are in sync. Unfortunately, both development artifacts do evolve not only frequently, but also concurrently which likely causes them to drift apart over time. Even though technologies such as model-to-code transformations are commonly employed to keep design models and source code synchronized, those technologies typically still require unguided, manual adaptations. Hence, they do not effectively prevent inconsistencies from being introduced. In this paper, we present a novel approach for checking consistency between design models and source code. The approach detects inconsistencies instantly and informs developers about a project's consistency status live during development. We developed an efficient and fully automated consistency checking framework and also provide a set of consistency rules for UML and Java projects. The framework was evaluated in an empirical study with 10 mostly industrial projects. The results showed that our approach is technically feasible and also highly scalable.
Reference:
Markus Riedl-Ehrenleitner, "Model-and-Code Consistency Checking", Master's thesis, Johannes Kepler University (JKU), Linz, Austria, 2013.
Bibtex Entry:
@MastersThesis{Riedl-Ehrenleitner2013,
  Title                    = {Model-and-Code Consistency Checking},
  Author                   = {Markus Riedl-Ehrenleitner},
  School                   = {Johannes Kepler University (JKU), Linz, Austria},
  Year                     = {2013},

  Abstract                 = {In model-driven engineering, design models raise the level of abstraction and
allow for efficient designing without considering implementation details. Still,
it is crucial that design models and source code are in sync. Unfortunately,
both development artifacts do evolve not only frequently, but also concurrently
 which likely causes them to drift apart over time. Even though technologies
such as model-to-code transformations are commonly employed to keep design
models and source code synchronized, those technologies typically still require
unguided, manual adaptations. Hence, they do not effectively prevent inconsistencies
from being introduced. In this paper, we present a novel approach
for checking consistency between design models and source code. The approach
detects inconsistencies instantly and informs developers about a project's consistency
status live during development. We developed an efficient and fully
automated consistency checking framework and also provide a set of consistency
rules for UML and Java projects. The framework was evaluated in an
empirical study with 10 mostly industrial projects. The results showed that our
approach is technically feasible and also highly scalable.},
  File                     = {:MSc Theses\\2013 Riedl Markus\\Rield - Model-and-Code Consistency Checking.pdf:PDF},
  Owner                    = {AK117794},
  Timestamp                = {2015.09.22}
}
Powered by bibtexbrowser