- AutorIn
- Karl Kegel
- Titel
- Consistency Measurement in Collaborative Software Engineering
- Zitierfähige Url:
- https://nbn-resolving.org/urn:nbn:de:bsz:14-qucosa2-1057901
- Erstveröffentlichung
- 2026
- Datum der Einreichung
- 12.01.2026
- Datum der Verteidigung
- 01.07.2026
- Abstract (EN)
- Software development is a collaborative effort. To successfully build and maintain large software systems, developers must collaborate, combining their expertise and skills. In today's working environments, distributed remote teams are common, allowing developers all around the world to contribute to a project. Modern version control systems such as Git enable this collaboration by providing the possibility to work on different lines of development, called branches, in parallel. A specific form of collaboration is based on the concept of feature branches. Feature branch workflows, often combined with agile development methodologies, aim to develop increments of functionality, known as features, in isolated branches. This enables the parallel development of multiple features by different developers without interfering with one another. Completed features are merged back into the main line of development. However, this flexible and scalable approach comes with a cost. During the individual development phase, developers may change the same parts of the software in different ways. These inconsistencies lead to merge conflicts when integrating the changes back. Often, merge conflicts arise unexpectedly and are costly to resolve. We identify these kinds of conflict-causing inconsistencies as a central problem of branch-based software development. In particular, they pose a form of technical debt -- we call it consistency debt -- that builds up during the development process and needs to be monitored and controlled. Therefore, metrics are required but are currently missing in the state-of-the-art. This work fills this gap by introducing and evaluating a novel metric for measuring the consistency in branch-based software development -- the Drift metric -- as its main contribution. The Drift metric enables the quantification of the inconsistency between different lines of development. It allows for the tracking of consistency over time and prompts action when the inconsistency exceeds expectations. We furthermore contribute a tool, called \textit{Driftool}, for automated and highly configurable calculation of the Drift metric on Git repositories. We evaluate the Drift metric in a series of experiments on synthetically generated data and on large open-source software projects. We start our investigations from a model-driven perspective, which we later extend to general software development. While working towards this main contribution, we provide several secondary contributions. This includes a formal taxonomy of quality regions for classifying the operation context of a quality analysis in space and time; and a novel operation-based merge conflict detection algorithm, called sketch-based critical pair analysis (SCPA). Through several case studies and empirical evaluations, this work also contributes multiple further tools and datasets to the research community.
- Freie Schlagwörter (EN)
- Software Engineering, Software Quality Assurance, Sotware Metrics, Technical Debt
- Klassifikation (DDC)
- 004
- Klassifikation (RVK)
- ST 232
- ST 230
- GutachterIn
- Prof. Dr. Uwe Aßmann
- Prof. Dr. Ralf H. Reussner
- BetreuerIn Hochschule / Universität
- Prof. Dr. Bernhard Rumpe
- Den akademischen Grad verleihende / prüfende Institution
- Technische Universität Dresden, Dresden
- Förder- / Projektangaben
- Deutsche Forschungsgemeinschaft (DFG)
SFB 1608 – 501798263 - Consistency in the View-Based Development of Cyber-Physical Systems
(CONVIDE)
ID: 501798263 - Version / Begutachtungsstatus
- publizierte Version / Verlagsversion
- URN Qucosa
- urn:nbn:de:bsz:14-qucosa2-1057901
- Veröffentlichungsdatum Qucosa
- 06.07.2026
- Dokumenttyp
- Dissertation
- Sprache des Dokumentes
- Englisch
- Lizenz / Rechtehinweis
CC BY-SA 4.0- Inhaltsverzeichnis
Abstract 5 1 Introduction 13 1.1 Context 14 1.2 Focus 16 1.3 Problem Statement and Research Questions 16 1.4 Contribution 17 1.5 Outline 18 2 Background & Foundational Related Works 19 2.1 Software Development Methodologies and Processes 19 2.2 Version Control Systems & Version Graphs 25 2.3 Software Quality Assurance & Software Metrics 33 2.4 Conclusion 44 3 Quality Analysis in Space and Time 47 3.1 Motivation 47 3.2 Objective - A Missing Terminology 48 3.3 Methodology 48 3.4 Concept - A Formal Framework of Quality Regions 48 3.5 Tooling - The coconlib and cocon-cli 55 3.6 Conclusion 59 4 Drift of Model Variants 61 4.1 Motivation 61 4.2 Objective - Consistency Assessment of Model Variants 62 4.3 Methodology 64 4.4 Concept - The Drift Metric 64 4.5 Tooling - A Highly Configurable Generator for EMF Graph Models 70 4.6 Evaluation Design 78 4.7 Evaluation Execution and Results 81 4.8 Conclusion 87 5 A Fast Merge Conflict Oracle 89 5.1 Motivation 89 5.2 Objective - Fast Conflict Approximation 90 5.3 Methodology 92 5.4 Concept - A Merge Conflict Oracle based on Delta Comparison 93 5.5 Evaluation 97 5.6 Conclusion 106 6 Drift in Branch-based Software Development 107 6.1 Motivation & Objective - Does Drift Work for Real-World Software Projects? 107 6.2 Methodology 110 6.3 Concept - Highly Configurable Drift Calculation 110 6.4 Design and Realization of the Driftool 111 6.5 Evaluation Design and Execution 116 6.6 Evaluation Results 123 6.7 Threats to Validity 133 6.8 Conclusion 135 7 Summary 137 7.1 Research Overview & Contributions 138 7.2 Conclusion 140 8 Funding 155 9 Appendix A: Additional Results from the Model-Drift Experiments 157 10 Appendix B: Result Plots from a Full Reproduction Run of the SCPA Experiments 163 11 Appendix C: The Complete Set of Drift Charts 167