An Investigation of Integration Debt in Continuous Integration - A design science study

dc.contributor.authorRasku, Kevin
dc.contributor.departmentChalmers tekniska högskola / Institutionen för data och informationstekniksv
dc.contributor.examinerFeldt, Robert
dc.contributor.supervisorHorkoff, Jennifer
dc.contributor.supervisorBesker, Terese
dc.date.accessioned2019-08-26T14:52:42Z
dc.date.available2019-08-26T14:52:42Z
dc.date.issued2019sv
dc.date.submitted2019
dc.description.abstractContinuous 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.sv
dc.identifier.coursecodeDATX05sv
dc.identifier.urihttps://hdl.handle.net/20.500.12380/300185
dc.language.isoengsv
dc.setspec.uppsokTechnology
dc.subjectContinuous integrationsv
dc.subjectIntegration debtsv
dc.subjectRepository miningsv
dc.subjectSoftware metricssv
dc.subjectCode integrationsv
dc.subjectMerge conflictsv
dc.subjectAutomated test and buildsv
dc.titleAn Investigation of Integration Debt in Continuous Integration - A design science studysv
dc.type.degreeExamensarbete för masterexamensv
dc.type.uppsokH
Ladda ner
License bundle
Visar 1 - 1 av 1
Hämtar...
Bild (thumbnail)
Namn:
license.txt
Storlek:
1.14 KB
Format:
Item-specific license agreed upon to submission
Beskrivning: