An Investigation of Integration Debt in Continuous Integration - A design science study
Abstract
Continuous integration is a commonly used method in software development. It is
used to improve the development process by prescribing frequent code integration
and testing and thereby creating a mechanism for early feedback. To optimize
the use of continuous integration in large scale development in regards to code
integration, this study introduced a new term called integration debt. The concept
is borrowed from the notion of technical debt, applied to continuous integration
and the factors that are involved in this integration debt (which happens due to
unintegrated code) are investigated. In this study, a set of integration debt factors is
defined and the relationships between the factors are mapped and analyzed. This is
done through design science research methodology where the artifact is the mapping
of integration debt factors and the set of factors itself. Using various data gathering
methods, a set of factors that are involved in integration debt are identified and
validated. These factors were lines of code in commits, the number of modified
files in commits, code churn, frequency of commits, code dependency, development
overlap and lastly the factors related to the organization’s CI system.
Additionally, this study investigates, and evaluates, a potential threshold value for
one of the factors where the threshold is for when that factor reaches a significant
risk to integration. Defining a general and accurate threshold proved to be difficult
which suggests that integration debt factor thresholds require significant effort to
define. This could perhaps be investigated further in future research. Consequently,
the findings of this research study build a foundation for integration debt and how
it could be mapped and measured. This can aid companies that work with large
scale development, to better manage the integration debt level across their project
by taking appropriate actions to avoid large accumulated debt levels. This potentially
lowers the costs for companies and reduces the extra effort required to resolve
integration problems during development.
Degree
Student essay
Collections
Date
2019-11-19Author
Balavi, Pooriya
Rasku, Kevin
Keywords
Continuous integration
Integration debt
Repository mining
Software metrics
Code integration
Merge conflict
Automated test and build
Language
eng
Metadata
Show full item recordRelated items
Showing items related by title, author, creator and subject.
-
Förutsättningar för integration på landsbygden: En kvalitativ intervjustudie om möjligheter och hinder för utrikes föddas integration på landsbygden i Sverige
Kihl, Andréa (2016-09-13)The aim of this study is to investigate different conditions for integration of immigrants in Swedish rural municipalities. The study examine different assessments by members of the Swedish Rural Network’s Working Group ... -
Integrating Acquisitions - The Case of Getinge Infection Control and La Calhène
Palmqvist, Linus (2012-07-03) -
Sports Broadcasting. An Accelerator of Business Integration in the Media Industry
Solberg, Harry Arne; Helland, Knut (Nordic Council of Ministers, Nordicom, 2011-11)The present article analyses how various forms of business integrations, combined with technology innovation, have affected the sports broadcasting market in Norway. Interviews with representatives of Norwegian TV ...