Improving Continuous Integration Feedback Flow - Lind, Christian (My University, 2024)
Continuous integration represents a prevalent practice involving the automated merging of code modifications from various contributors into a unified software project. Despite its widespread adoption, this process often entails considerable time and is susceptible to failures. Consequently, efforts have been directed towards anticipating the outcome of the continuous integration process prior to its initiation. This thesis explores the feasibility of predicting the outcome in near-real-time, leveraging the data accessible within the continuous integration job at that specific moment, employing a design science research approach across three iterative cycles. Utilizing the design science research approach, the thesis initially delved into the issue by gathering data through interviews and a concise literature review. This process resulted in identifying the problem of delivering improved and swifter feedback to developers. The literature review also unearthed prior efforts aimed at addressing the same issue, prompting an exploration into employing machine learning to forecast build outcomes based on continuous integration (CI) job log data. The outcomes of evaluating various algorithms spurred both empirical and qualitative/ quantitative analyses, augmented by interviews with developers at Zenseact. The primary contribution lies in the crafted artifact itself, a significant addition to the realm of predicting the outcome of continuous integration job builds, serving as a practical solution validated within an industrial setting. This artifact not only introduces innovative resolutions to recognized challenges but also enriches the repository of design science knowledge.
Keywords: continuous integration, machine learning, just-in-time prediction, design science research