University of Twente Student Theses


CheckMerge: A System for Risk Assessment of Code Merges

Kester, J.J. (2018) CheckMerge: A System for Risk Assessment of Code Merges.

[img] PDF
Abstract:When working on large software projects using version control systems, merges are not always trivial to execute. Even when a merge can be resolved without manual intervention, the resulting program is not necessarily correct. In this study a number of categories of changes that may cause issues during merges are identified. This report introduces two new language-independent algorithms that detect changes from three of these categories. These algorithms work based on the abstract syntax trees (ASTs) of compared program versions and require the differences between these versions to be calculated beforehand. A prototype system has been designed and implemented for the C programming language. The newly developed algorithms perform well in detecting the problematic changes, in the case of one algorithm at the cost of false positives. The prototype system shows the feasibility of such a system, but is not yet suitable for production use. All in all the analysis of source code merges is a promising area of research and with some effort a tool for practical code merge analysis could be produced, helping developers be more productive when carrying out merges with less errors.
Item Type:Essay (Master)
Faculty:EEMCS: Electrical Engineering, Mathematics and Computer Science
Subject:54 computer science
Programme:Computer Science MSc (60300)
Link to this item:
Export this item as:BibTeX
HTML Citation
Reference Manager


Repository Staff Only: item control page