Analysis of EMF meta-model duplication in open-source repositories
Context. Model-Driven Software Engineering (MDSE) promotes the use of high-level models to enhance and streamline the development process. These models are often defined using a domain-specific modeling language (DSL). Defining a DSL begins with identifying key domain concepts and the relationships between them. These concepts and relationships are generally represented through a meta-model. In this context, the Eclipse Modeling Framework (EMF) is widely recognized as the de facto standard for meta-modeling, and it is among the most popular choices in the open-source modeling community. EMF provides Ecore, an object-oriented-based language used to define meta-models. Problem statement . Previous studies have observed significant Ecore meta-model duplication in the open-source ecosystem. While it is well known that engineers frequently copy and paste meta-models, the motivations behind this practice and its potential drawbacks remain uncertain. Contribution . This paper explores the phenomenon of meta-model duplication within the open-source ecosystem by addressing the following research question: how and why does meta-model duplication occur? Study design. Using a popular dataset of 30k meta-models extracted from GitHub, we analyze and quantify meta-model duplication at two levels: (1) intra-repository duplication, where a developer replicates the same or similar meta-models multiple times within a single repository, and (2) inter-repository duplication, which occurs when meta-models are reused across different repositories. Additionally, we examine representative samples of repositories exhibiting both types of duplication and apply an open-coding strategy to identify and analyze the underlying reasons behind each. Results. Our findings align with previous research, confirming the widespread occurrence of meta-model duplication on GitHub. Regarding intra-repository duplication, 21.84% of the analyzed repositories exhibit this pattern. Key factors contributing to this duplication include testing and benchmarking of modeling tools, duplication inherent in the underlying modeling technology, tutorials and assignments, coexistence of multiple meta-model versions, and various questionable practices in intra-project dependency and Git version management. Inter-repository duplication is even more prevalent, with 49.04% of repositories containing meta-models sourced from other repositories. The primary reasons for this type of duplication include repository duplication, meta-model reuse within the main tooling, testing and benchmarking, tutorials and assignments, and zoo/dataset repositories. Finally, we observe that when engineers reuse a meta-model, they make only a few modifications, which are typically simple—primarily involving the addition or removal of instances of the core building blocks of the Ecore meta-modeling language ( EAttributes, EReferences , and EClasses ). Based on these findings, we examine certain engineering practices that lead to meta-model duplication, potentially hindering modeling projects, and propose strategies to mitigate these issues. Additionally, we explore cases where duplication does not have negative consequences, as well as instances where it arises due to the limitations of current modeling tools.
Authors
- José Antonio Hernández López (ORCID: https://orcid.org/0000-0003-2439-2136)
- Alfonso de la Vega (ORCID: https://orcid.org/0000-0002-7109-4249)
Institutions
- Universidad de Cantabria (ES)
- Universidad de Murcia (ES)
Publication Details
- Journal
- ACM Transactions on Software Engineering and Methodology
- Published
- 2025-10-15
- DOI
- https://doi.org/10.1145/3771765
- Primary Topic
- Software Engineering Research
- Type
- article
- Field-Weighted Citation Impact
- 0.00