On the Power of Abstraction: a Model-Driven Co-evolution Approach of Software Code - Inria - Institut national de recherche en sciences et technologies du numérique
Communication Dans Un Congrès Année : 2020

On the Power of Abstraction: a Model-Driven Co-evolution Approach of Software Code

Djamel Eddine Khelladi
  • Fonction : Auteur
  • PersonId : 176712
  • IdHAL : dkhelladi
Benoit Combemale
Mathieu Acher
Olivier Barais
  • Fonction : Auteur
  • PersonId : 964001

Résumé

Model-driven software engineering fosters abstraction through the use of models and then automation by transforming them into various artefacts, in particular to code, for example: 1) from architectural models to code, 2) from metamodels to API code (with EMF in Eclipse), 3) from entity models to front-end and back-end code in Web stack application (with JHispter), etc. In all these examples, the generated code is usually enriched by developers with additional code implementing advanced functionalities (e.g., checkers, recommenders, etc.) to build a full coherent system. When the system must evolve, so are the models to regenerate the code. As a result, the developers' enriched code may be impacted and thus need to co-evolve accordingly. Many approaches support the co-evolution of various artifacts, but not the co-evolution of code. This paper sheds light on this issue and envisions to fill this gap. We formulate the hypothesis that the code co-evolution can be driven by the model changes by means of change propagation. To investigate this hypothesis, we implemented a prototype for the case of metamodels and their accompanying code in EMF Eclipse. As a preliminary evaluation, we considered the case of the OCL Pivot metamodel evolution and its code co-evolution in two projects from version 3.2.2 to 3.4.4. Preliminary results confirms our hypothesis that model-driven evolution changes can effectively drive the code co-evolution. On 562 impacts in two projects' code by 221 metamodel changes, our approach was able to reach the average of 89% and 92,5% respectively of precision and recall.
Fichier principal
Vignette du fichier
temp_nier.pdf (552.58 Ko) Télécharger le fichier
Origine Fichiers produits par l'(les) auteur(s)

Dates et versions

hal-03029426 , version 1 (28-11-2020)

Identifiants

  • HAL Id : hal-03029426 , version 1

Citer

Djamel Eddine Khelladi, Benoit Combemale, Mathieu Acher, Olivier Barais. On the Power of Abstraction: a Model-Driven Co-evolution Approach of Software Code. ICSE-NIER 2020 - ACM/IEEE 42nd International Conference on Software Engineering, New Ideas and Emerging Results, Oct 2020, Séoul, South Korea. pp.1-4. ⟨hal-03029426⟩
53 Consultations
167 Téléchargements

Partager

More