2019 ACM/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM) 2019
DOI: 10.1109/esem.2019.8870173
|View full text |Cite
|
Sign up to set email alerts
|

Predicting Merge Conflicts in Collaborative Software Development

Abstract: Background. During collaborative software development, developers often use branches to add features or fix bugs. When merging changes from two branches, conflicts may occur if the changes are inconsistent. Developers need to resolve these conflicts before completing the merge, which is an error-prone and time-consuming process. Early detection of merge conflicts, which warns developers about resolving conflicts before they become large and complicated, is among the ways of dealing with this problem. Existing … Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
2
1

Citation Types

0
23
0

Year Published

2020
2020
2024
2024

Publication Types

Select...
4
2
1

Relationship

0
7

Authors

Journals

citations
Cited by 37 publications
(27 citation statements)
references
References 36 publications
0
23
0
Order By: Relevance
“…Merge conflicts are frequent and annoying, and studies have shown they can have a significant impact on the development lifecycle of projects [1]. Prior works have focused on predicting merge conflicts [2]- [7], resolving them through using structured abstract syntax tree (AST) aware techniques [8]- [12], or even verifying semantic correctness of merges using program verifiers [13]. Although these approaches have paved the course for research on merge conflict prediction and resolution, the problem of mergeconflicts persists in practice.…”
Section: Introductionmentioning
confidence: 99%
“…Merge conflicts are frequent and annoying, and studies have shown they can have a significant impact on the development lifecycle of projects [1]. Prior works have focused on predicting merge conflicts [2]- [7], resolving them through using structured abstract syntax tree (AST) aware techniques [8]- [12], or even verifying semantic correctness of merges using program verifiers [13]. Although these approaches have paved the course for research on merge conflict prediction and resolution, the problem of mergeconflicts persists in practice.…”
Section: Introductionmentioning
confidence: 99%
“…In this process, a merge is performed between local modifications and remote modifications. If developers make a lot of modifications in the same part of code, when they incorporate these modifications, Git cannot decide which modify to choose, in this case, the developers need to resolve the conflict manually, which is an error-prone and time-consuming task [4]. Conflicts might be detected in different stages, during merging or testing, since detecting and resolving conflicts often is a difficult task [7].…”
Section: Merge Conflicts Characteristicsmentioning
confidence: 99%
“…Semi-structured merge tools, for example, JDime tool, enhance performance by use ASTs level. A structured merge is then used for the main nodes of the tree, while the unstructured merge is used for the method bodies in the leaves [4]. Semi-structured merge tools have many features, where the merge reports fewer conflicts [2].…”
Section: Semi-structured Merge Toolsmentioning
confidence: 99%
See 2 more Smart Citations