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

Metamodels play a significant role to describe and analyze the relations between domain concepts. They are also cornerstone to build a software language (SL) for a domain and its associated tooling. Metamodel definition generally drives code generation of a core API. The latter is further enriched by developers with additional code implementing advanced functionalities, e.g., checkers, recommenders, etc. When a SL is evolved to the next version, the metamodels are evolved as well before to re-generate the core API code. As a result, the developers added code both in the core API and the SL toolings may be impacted and thus may need to be co-evolved accordingly. Many approaches support the co-evolution of various artifacts when metamodels evolve. However, not the co-evolution of code. This paper fills this gap. We propose a semi-automatic co-evolution approach based on change propagation. The premise is that knowledge of the metamodel evolution changes can be propagated by means of resolutions to drive the code co-evolution. Our approach leverages on the abstraction level of metamodels where a given metamodel element has often different usages in the code. It supports alternative co-evaluations to meet different developers needs. Our work is evaluated on three Eclipse SL implementations, namely OCL, Modisco, and Papyrus over several evolved versions of metamodels and code. In response to five different evolved metamodels, we co-evolved caused impacts on 18 projects. A comparison of our co-evolved code with the versioned ones shows the usefulness of our approach, while supporting useful alternative co-evolution that developers have manually performed.

Fri 10 Jul
Times are displayed in time zone: (UTC) Coordinated Universal Time change

07:00 - 08:00: Paper Presentations - I19-Code Generation and Verification at Baekje
Chair(s): Raffi KhatchadourianCity University of New York (CUNY) Hunter College
icse-2020-New-Ideas-and-Emerging-Results07:00 - 07:06
Jude AnilTCS Research, Sumanth PrabhuTCS Research, Kumar MadhukarTCS Innovation Labs (TRDDC), R Venkatesh
icse-2020-papers07:06 - 07:18
Alexandra BugariuETH Zurich, Peter MüllerETH Zurich
icse-2020-New-Ideas-and-Emerging-Results07:18 - 07:24
Djamel Eddine KhelladiCNRS, France, Benoit CombemaleUniversity of Toulouse and Inria, Mathieu Acher(Univ Rennes, Inria, IRISA), Olivier Barais(Univ Rennes, Inria, IRISA)
icse-2020-papers07:24 - 07:36
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
icse-2020-Software-Engineering-in-Practice07:36 - 07:48
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
icse-2020-Software-Engineering-in-Practice07:48 - 08:00
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