From two-way to three-way: domain-specific model differencing and conflict detection

By: Manouchehr Zadahmad Jafarlou, Eugene Syriani, Omar Alam

Abstract

In collaborative work, developers evolve their models in parallel, leading to substantial differences and conflicts. To better consolidate these changes, developers need to understand the differences in terms of syntax and semantics of the models. Despite myriad efforts, the existing version control systems and model comparison tools focus on the generic models, are hardly adaptable to a domain-specific language (DSL), and primarily present syntactical changes to the developer. Furthermore, they report differences and conflicts of domain-specific models based on their abstract syntax instead of the concrete syntax of the DSL. To address these issues, we previously introduced DSMCompare to detect fine-grained and semantic differences between pairs of model versions and present the changes in the concrete syntax of the DSL. In this paper, we have further enhanced our practice by considering a three-way model comparison, typical in the context of version control systems. DSMCompare can now report differences coming from either version as well as conflicts. To detect semantic differences and conflicts, our approach relies on the DSL engineer specifying semantic differencing patterns in an editor adapted to the DSL. To evaluate DSMCompare, we reverse-engineered the commit history of several open-source projects where Java-based code refactoring changes occur. We show that DSMCompare effectively finds these semantic differences and conflicts with high accuracy.

Keywords

Model-Driven Engineering, Model versioning, Model differencing, Graphical concrete syntax.

Cite as:

Manouchehr Zadahmad Jafarlou, Eugene Syriani, Omar Alam, “From two-way to three-way: domain-specific model differencing and conflict detection”, Journal of Object Technology, Volume 22, no. 1 ( 2023), pp. 1:1-29, doi:10.5381/jot.2023.22.1.a5.

PDF | DOI | BiBTeX | Tweet this | Post to CiteULike | Share on LinkedIn

The JOT Journal   |   ISSN 1660-1769   |   DOI 10.5381/jot   |   AITO   |   Open Access   |    Contact