Towards Development with Multi-Version Models: Detecting Merge Conflicts and Checking Well-Formedness

05/09/2022
by   Matthias Barkowsky, et al.
0

Developing complex software requires that multiple views and versions of the software can be developed in parallel and merged as supported by views and managed by version control systems. In this context, this paper considers monitoring merging and related consistency problems permanently at the level of models and abstract syntax to permit early and frequent conflict detection while developing in parallel. The presented approach introduces multi-version models based on typed graphs that permit to store changes and multiple versions in one graph in a compact form and allow (1) to study well-formedness for all versions without the need to extract each version individually, (2) to report all possible merge conflicts without the need to merge all pairs of versions, and (3) to report all violations of well-formedness conditions that will result for merges of any two versions independent of any merge decisions without the need to merge all pairs of versions. The paper defines the related concepts and algorithms operating on multi-version models, proves their correctness w.r.t. the usually employed three-way-merge, and reports on preliminary experiments concerning the scalability.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
11/22/2018

Uma técnica para a quantificação do esforço de merge

Developers that use version control systems can work in parallel with ot...
research
07/05/2023

Incremental Model Transformations with Triple Graph Grammars for Multi-version Models

Like conventional software projects, projects in model-driven software e...
research
05/17/2021

DeepMerge: Learning to Merge Programs

Program merging is ubiquitous in modern software development. Although c...
research
05/10/2023

Do code refactorings influence the merge effort?

In collaborative software development, multiple contributors frequently ...
research
01/02/2023

Triple Graph Grammars for Multi-version Models

Like conventional software projects, projects in model-driven software e...
research
03/02/2016

LevelMerge: Collaborative Game Level Editing by Merging Labeled Graphs

Game level editing is the process of constructing a full game level star...
research
12/28/2017

An Innovative Approach for Achieving Composability in Concurrent Systems using Multi-Version Object Based STMs

In the modern era of multicore processors, utilizing multiple cores prop...

Please sign up or login with your details

Forgot password? Click here to reset