2018
DOI: 10.1145/3276536
|View full text |Cite
|
Sign up to set email alerts
|

Conflict resolution for structured merge via version space algebra

Abstract: Resolving conflicts is the main challenge for software merging. The existing merge tools usually rely on the developer to manually resolve conflicts. This is of course inefficient. We propose an interactive approach for resolving merge conflicts. To the best of our knowledge, this is the first attempt for conflict resolution of structured merge. To represent the possibly very large set of candidate programs, we propose an expressive and efficient representation by version space algebra. We also design a simple… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
17
0

Year Published

2019
2019
2024
2024

Publication Types

Select...
5
1
1

Relationship

0
7

Authors

Journals

citations
Cited by 25 publications
(17 citation statements)
references
References 34 publications
0
17
0
Order By: Relevance
“…So, the developers must intervention to resolve conflicts manually [27]. Therefore, developers manually rely on existing tools to solve merging conflicts [8]. The current merge conflicts tools still rely on structured and unstructured merge strategies.…”
Section: Merge Strategies and Toolsmentioning
confidence: 99%
See 2 more Smart Citations
“…So, the developers must intervention to resolve conflicts manually [27]. Therefore, developers manually rely on existing tools to solve merging conflicts [8]. The current merge conflicts tools still rely on structured and unstructured merge strategies.…”
Section: Merge Strategies and Toolsmentioning
confidence: 99%
“…Many software projects use an unstructured merge strategy because it is very simple and relying on purely textual analysis to detect and resolve conflicts [2]. Where source code written in any programming language is regarded as plain text [8] and every software artifact that can be represented as text. So, each tool can handle the software artifacts conflicts successfully [16].…”
Section: Unstructured Merge Toolsmentioning
confidence: 99%
See 1 more Smart Citation
“…On one hand, there are proposals that target at modeling artifacts like diagrams and models [Jackson et al 1994;Kolovos et al 2006;Mehra et al 2005]. On the other hand, there are proposals that focus on merging programs; some of them are dedicated to specific programming languages such as Java [Apel et al 2012;Leßenich et al 2015;Zhu and He 2018], C++ [Grass 1992] and XML [Lindholm 2004], while others try to be language-independent by representing program elements in an abstract level [Apel et al 2011;Buffenbarger 1993;Westfechtel 1991]. However, these structured techniques are usually quite expensive and not practical in real software development projects.…”
Section: Related Work 61 Software Mergingmentioning
confidence: 99%
“…Modern software products are usually developed and maintained by a team of developers, either from a company or from an open-source community. In the development process, the version control system (VCS) plays an indispensable role by providing supports that facilitate the collaborative editing and revising of software artifacts among developers [Zhu and He 2018]. For example, an open-source project hosted on Github 1 usually follows a branch-based development workflow, where new features or bug fixes are developed in separate branches forked from a master branch and then different branches are merged into the master branch.…”
Section: Introductionmentioning
confidence: 99%