Master’s Thesis: Exploring Integration Debt

Background

Continuous integration is a common practice in software development which revolves around committing code often. During integration the code typically has to get reviewed, built and tested to ensure that it works. To do this efficiently, it is necessary to automate this process. The process can be negatively impacted by various problems such as merge conflicts, long test/build duration and commits being queued. In order to optimize the CI-process, we would like to further explore this domain through the concept of integration debt.


Which value can Integration debt provide in an industrial project?

Master’s Thesis Scope

Integration debt is a term borrowed from the concept of technical debt but applied to continuous integration. What this means in practice is that having unintegrated code is analogous to taking on a debt (integration debt) which may become costly in the long term due to it having an increasing risk of causing integration problems.

The time of how long the integration debt has existed (i.e. how long the code has been unintegrated) is one obvious factor that will increase the risk of integration problems but there are many other factors that also play a role. Examples would be: how big the commits are in terms LOC and files, how often commits are pushed, how much development overlap that exists, and how complex the code is.

This project needs to gather relevant data from the CI-system of a project and create a method (ideally an application) to analyze the different factors involved in order to draw conclusions both about the factors themselves as well as about if the application of the integration debt concept can provide any value in an industrial project. It may also be necessary to conduct statistical analysis here. We propose that the application has a backend which reads and analyzes data from the CI-system and the Gerrit API which then gets visualized in some sort of a frontend (perhaps a webpage).

Continuous Integration is both about mindset and tools, and we believe this kind of metric would capture important aspects of both. What is a desired amount of debt? What seems to be working in different scenarios? How can we measure the debt? We want to figure out the answer to these questions together with you.

About Combitech

We believe the combined force. That it is the meeting of different core competencies and personalities that lay the foundation for our success. Therefore, we give you the opportunity to work and grow on all levels - personal, in terms of skills and careers. Our research-based methods for exchange of experience are unique as well as our training and talent development programs. For us at Combitech is very important with the balance between work, leisure and family life.

(Master Thesis work is suitable for two students)