Detecting complex changes and refactorings during (Meta)model evolution
Journal article, 2016

Evolution of metamodels can be represented at the finest grain by the trace of atomic changes such as add, delete, and update of elements. For many applications, like automatic correction of models when the metamodel evolves, a higher grained trace must be inferred, composed of complex changes, each one aggregating several atomic changes. Complex change detection is a challenging task since multiple sequences of atomic changes may define a single user intention and complex changes may overlap over the atomic change trace. In this paper, we propose a detection engine of complex changes that simultaneously addresses these two challenges of variability and overlap. We introduce three ranking heuristics to help users to decide which overlapping complex changes are likely to be correct. In our approach, we record the trace of atomic changes rather than computing them with the difference between the original and evolved metamodel. Thus, we have a complete and an ordered sequence of atomic changes without hidden changes. Furthermore, we consider the issue of undo operations (i.e. change canceling actions) while recording the sequence of atomic changes, and we illustrate how we cope with it. We validate our approach on 8 real case studies demonstrating its feasibility and its applicability. We observe that a full recall is always reached in all case studies and an average precision of 70.75%. The precision is improved by the heuristics up to 91% and 100% in some cases.

Evolution

Metamodel

Complex change

Refactoring

Detection

Author

Djamel Eddine Khelladi

Sorbonne University

Regina Hebig

University of Gothenburg

Reda Bendraou

Sorbonne University

Jacques Robin

Sorbonne University

Marie-Pierre Gervais

Paris Nanterre University

Information Systems

0306-4379 (ISSN)

Vol. 62 220-241

Areas of Advance

Information and Communication Technology

Subject Categories

Computer and Information Science

Computer Systems

DOI

10.1016/j.is.2016.05.002

More information

Latest update

7/25/2019