Model clone detection for rule-based model transformation languages

被引:0
作者
Daniel Strüber
Vlad Acreţoaie
Jennifer Plöger
机构
[1] University of Koblenz and Landau,
[2] Philipp University of Marburg,undefined
[3] Technical University of Denmark,undefined
[4] Configit,undefined
来源
Software & Systems Modeling | 2019年 / 18卷
关键词
Quality assurance; Model clone detection; Model transformation; ATL; Henshin;
D O I
暂无
中图分类号
学科分类号
摘要
Cloning is a convenient mechanism to enable reuse across and within software artifacts. On the downside, it is also a practice related to severe long-term maintainability impediments, thus generating a need to identify clones in affected artifacts. A large variety of clone detection techniques have been proposed for programming and modeling languages; yet no specific ones have emerged for model transformation languages. In this paper, we explore clone detection for rule-based model transformation languages, including graph-based ones, such as Henshin, and hybrid ones, such as ATL. We introduce use cases for such techniques in the context of constructive and analytical quality assurance, and a set of key requirements we derived from these use cases. To address these requirements, we describe our customization of existing model clone detection techniques: We consider eScan, an a-priori-based technique, ConQAT, a heuristic technique, and a hybrid technique based on a combination of eScan and ConQAT. We compare these techniques in a comprehensive experimental evaluation, based on three realistic Henshin rule sets, and a comprehensive body of examples from the ATL transformation zoo. Our results indicate that our customization of ConQAT enables the efficient detection of the considered clones, without sacrificing accuracy. With our contributions, we present the first evidence on the usefulness of model clone detection for the quality assurance of model transformations and pave the way for future research efforts at the intersection of model clone detection and model transformation.
引用
收藏
页码:995 / 1016
页数:21
相关论文
共 54 条
  • [1] Sendall S(2003)Model transformation: the heart and soul of model-driven software development IEEE Softw. 20 42-45
  • [2] Kozaczynski W(2001)Frequently forgotten fundamental facts about software engineering IEEE Softw. 3 110-112
  • [3] Glass RL(2009)Comparison and evaluation of code clone detection techniques and tools: a qualitative approach Sci. Comput. Program. 74 470-495
  • [4] Roy CK(2013)Software clone detection: a systematic review Inf. Softw. Technol. 55 1165-1199
  • [5] Cordy JR(2013)Reuse in model-to-model transformation languages: are we there yet? Softw. Syst. Model. 14 537-572
  • [6] Koschke R(2006)A taxonomy of model transformation Electron. Notes Theor. Comput. Sci. 152 125-142
  • [7] Rattan D(2012)Model-driven software engineering in practice Synth. Lect. Softw. Eng. 1 1-182
  • [8] Bhatia R(2012)Surveying rule inheritance in model-to-model transformation languages J. Object Technol. 11 1-46
  • [9] Singh M(2012)Clone management for evolving software IEEE Trans. Softw. Eng. 38 1008-1026
  • [10] Kusel A(2014)Model-transformation design patterns IEEE Trans. Softw. Eng. 40 1224-1259