Write a Blog >>
ICSE 2020
Wed 24 June - Thu 16 July 2020
Fri 10 Jul 2020 07:18 - 07:24 at Baekje - I19-Code Generation and Verification Chair(s): Raffi Khatchadourian

Model-driven software engineering allows 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 metamoddels to API code with EMF in Eclipse, 3) from entity models to front-end and back-end code in jHispter, ect. 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, the models are evolved before to re-generate the code. As a result, the developers’ enriched code may be impacted and thus may need to be co-evolved 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 use case of metamodels and their accompanying code in EMF Eclipse. As a preliminary evaluation, we considered as a case study the implementation of the OCL language in Eclipse. In particular, 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 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 89% and 92,5% respectively of precision and recall.

Conference Day
Fri 10 Jul

Displayed time zone: (UTC) Coordinated Universal Time change

07:00 - 08:00
I19-Code Generation and VerificationTechnical Papers / Software Engineering in Practice / New Ideas and Emerging Results at Baekje
Chair(s): Raffi KhatchadourianCity University of New York (CUNY) Hunter College
07:00
6m
Talk
Using Hypersafety Verification for Proving Correctness of Programming AssignmentsNIER
New Ideas and Emerging Results
Jude AnilTCS Research, Sumanth PrabhuTCS Research, Kumar MadhukarTCS Innovation Labs (TRDDC), R Venkatesh
07:06
12m
Talk
Automatically Testing String SolversArtifact ReusableTechnicalArtifact Available
Technical Papers
Alexandra BugariuETH Zurich, Peter MüllerETH Zurich
Pre-print
07:18
6m
Talk
On the Power of Abstraction: a Model-Driven Co-evolution Approach of Software CodeNIER
New Ideas and Emerging Results
Djamel Eddine KhelladiCNRS, France, Benoit CombemaleUniversity of Toulouse and Inria, Mathieu Acher(Univ Rennes, Inria, IRISA), Olivier Barais(Univ Rennes, Inria, IRISA)
07:24
12m
Talk
Co-Evolving Code with Evolving MetamodelsTechnical
Technical Papers
Djamel Eddine KhelladiCNRS, France, Benoit CombemaleUniversity of Toulouse and Inria, Mathieu Acher(Univ Rennes, Inria, IRISA), Olivier Barais(Univ Rennes, Inria, IRISA), Jean-Marc JézéquelUniv Rennes - IRISA
07:36
12m
Talk
Rule-based Code Generation in Industrial Automation: Four Large-scale Case Studies applying the CAYENNE MethodSEIP
Software Engineering in Practice
Heiko KoziolekABB Corporate Research, Andreas BurgerABB Corporate Research, Marie Platenius-MohrABB Corporate Research, Julius RückertABB Corporate Research, Hadil AbukwaikABB Corporate Research, Raoul JetleyABB, Abdulla PPABB Corporate Research
Pre-print
07:48
12m
Talk
Understanding and Handling Alert Storm for Online Service SystemsSEIP
Software Engineering in Practice
Nengwen ZhaoTsinghua University, Junjie ChenTianjin University, Xiao PengChina EverBright Bank, Honglin WangBizSeer, Xinya WuBizSeer, Yuanzong ZhangBizSeer, Zikai ChenTsinghua University, Xiangzhong ZhengBizSeer, Xiaohui NieTsinghua University, Gang WangChina EverBright Bank, Yong WuChina EverBright Bank, Fang ZhouChina EverBright Bank, Wenchi ZhangBizSeer, Kaixin SuiBizSeer, Dan PeiTsinghua University