Comprehending How Merge Conflicts Developed in an Open Source Software Project
Examensarbete för masterexamen
Software engineering and technology (MPSOF), MSc
Msafiri Chagama, Moses
Studies show that merge conflicts are common in collaborative development, as developers work in a same part of a project code base using a version control system. The merge conflicts occurred when the developers merge their changes from their individual branch into a mainline branch or vice versa. Often, the developers are required to resolve the conflicts manually when merge tools are unable to resolve them automatically. However, the developers face a challenge of deciding which changes they should keep during conflicts resolution. This situation occurs when they do not understand the changes done by others to resolve the conflicts without worrying that their changes will introduce faults. The purpose of the study is to explore merge conflicts and changes that lead to their occurrence in the project code base. To achieve this purpose, we conducted an in-depth manual analysis of conflicting changes in a sample of 40 merge conflicts from an open source software project. The merge conflicts were categorized for comprehension and analyzed for changes that led to their occurrence in the project code base. Six categories of the merge conflicts and eight categories of changes that led to the merge conflicts in the project code base were identified. We observed that most of the merge conflicts are due to changes in method call or object creation statements and most of the changes in the project code base that led to the merge conflicts are related to introduction of new features and refactoring tasks.
Data- och informationsvetenskap , Computer and Information Science