Branch Drift: A Visually Explainable Metric for Consistency Monitoring in Collaborative Software Development
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 ti...
Saved in:
Main Authors: | , , |
---|---|
Format: | Article |
Language: | English |
Published: |
IEEE
2025-01-01
|
Series: | IEEE Access |
Subjects: | |
Online Access: | https://ieeexplore.ieee.org/document/11072155/ |
Tags: |
Add Tag
No Tags, Be the first to tag this record!
|
Summary: | 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 the drift metric for inconsistency analysis from model-driven software engineering to branch-based software development. The resulting branch-drift metric 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. |
---|---|
ISSN: | 2169-3536 |