开源代码库中电磁场(EMF)元模型重复情况的分析
《ACM Transactions on Software Engineering and Methodology》:Analysis of EMF meta-model duplication in open-source repositories
【字体:
大
中
小
】
时间:2025年11月08日
来源:ACM Transactions on Software Engineering and Methodology
编辑推荐:
本文针对开源生态中Ecore元模型重复现象,基于30,000个GitHub元模型数据,分析内/外重复的成因及影响,发现重复多因测试、工具复用等,并提出缓解策略。
摘要
背景。模型驱动软件工程(MDSE)提倡使用高级模型来增强和简化开发过程。这些模型通常使用领域特定建模语言(DSL)来定义。定义DSL首先需要识别关键领域概念及其之间的关系。这些概念和关系通常通过元模型来表示。在这个背景下,Eclipse建模框架(EMF)被广泛认为是元建模的事实标准,也是开源建模社区中最受欢迎的选择之一。EMF提供了Ecore,这是一种基于面向对象的语言,用于定义元模型。
问题陈述。先前的研究观察到开源生态系统中存在显著的元模型重复现象。虽然工程师经常复制和粘贴元模型,但这种做法背后的动机及其潜在的缺点仍不明确。
贡献。本文通过探讨以下研究问题来探索开源生态系统中的元模型重复现象:元模型重复是如何以及为何发生的?
研究设计。我们使用从GitHub提取的3万个元模型的流行数据集,在两个层面上分析和量化元模型重复现象:(1)仓库内重复,即开发人员在单个仓库中多次复制相同或相似的元模型;(2)仓库间重复,即元模型在不同仓库之间被重用。此外,我们还检查了表现出这两种重复类型的代表性仓库样本,并采用开源编码策略来识别和分析每种重复现象的根本原因。
结果。我们的发现与先前的研究结果一致,证实了GitHub上元模型重复现象的普遍性。关于仓库内重复,21.84%的被分析仓库存在这种模式。导致这种重复的关键因素包括建模工具的测试和基准测试、底层建模技术本身的重复性、教程和作业、多个元模型版本的共存,以及项目内部依赖关系和Git版本管理中的各种问题做法。仓库间重复更为普遍,49.04%的仓库包含从其他仓库获取的元模型。这种类型重复的主要原因包括仓库重复、主要工具中的元模型重用、测试和基准测试、教程和作业,以及动物园/数据集仓库。最后,我们观察到当工程师重用元模型时,他们所做的修改很少,且通常是简单的——主要涉及添加或删除Ecore元建模语言的核心构建块(EAttributes、EReferences和EClasses)。基于这些发现,我们研究了导致元模型重复的某些工程实践,并提出了缓解这些问题的策略。此外,我们还探讨了重复没有负面后果的情况,以及由于当前建模工具的局限性而产生的重复现象。
生物通微信公众号
生物通新浪微博
今日动态 |
人才市场 |
新技术专栏 |
中国科学人 |
云展台 |
BioHot |
云讲堂直播 |
会展中心 |
特价专栏 |
技术快讯 |
免费试用
版权所有 生物通
Copyright© eBiotrade.com, All Rights Reserved
联系信箱:
粤ICP备09063491号