Branch Drift: A Visually Explainable Metric for Consistency Monitoring in Collaborative Software Development

Karl Kegel, Sebastian Götz, Uwe Aßmann · IEEE Access · 2025

Modern software engineering uses branch-based workflows for collaborative development on a shared codebase. A branch may represent a task or feature within the responsibilities of a specific developer or team. When branches are merged, unanticipated conflicts occur frequently. Their resolution is time-consuming and costly. Depending on the development process, a branch exists for a few hours or up to several months.With increasing time and many branches, keeping track of potential merge conflicts becomes difficult. Typically, developers are unaware of these conflicts until the branches are merged. Issues solvable through joint reviews, discussion, and collaboration are therefore identified and resolved late. It is evident that the effort required to resolve merge conflicts poses an organizational technical debt. Project managers and team leaders must be able to track, analyze, and interpret the merge conflict potential to call for timely actions. Therefore, a metric is required. This work transfers thedriftmetric for inconsistency analysis from model-driven software engineering to branch-based software development. The resultingbranch-driftmetric summarizes the merge conflict potential of a development project in a numeric value. Its calculation is configurable to fit any project’s requirements. The branch-drift is based on an intuitive and explainable geometric representation, easing the analysis of conflict patterns and outliers. We evaluate the branch-drift by quantitatively analyzing and discussing the drift values, trends, and patterns for 21 large-scale open-source repositories over three months. The results of this work encourage and enable the continuous and configurable branch-drift calculation for arbitrary Git repositories. The developed tools and gathered data are publicly available.

Read the paper · More papers on PaperTik