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

Institutions

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
Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

Analysis of EMF meta-model duplication in open-source repositories

José Antonio Hernández López, Alfonso de la Vega
ACM Transactions on Software Engineering and Methodology
Software Engineering Research
article

Analysis of EMF meta-model duplication in open-source repositories

José Antonio Hernández López, Alfonso de la Vega
article en

Abstract

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.

ACM Transactions on Software Engineering and Methodology
Universidad de Cantabria (ES), Universidad de Murcia (ES)
Openalex Percentile: Top 57%
Software Engineering Research
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.