Pragmatic Approaches to Schedule Less Builds in Continuous Integration
Authors
Kamath, Divya M.
Date
Type
thesis
Language
eng
Keyword
Software builds , Build avoidance heuristic , Software analysis , Empirical study
Alternative Title
Abstract
Continuous integration (CI) is an efficient practice used for code integration and testing of software products. Yet, for large software projects, developers push hundreds of commits to the main code base everyday. Ensuring the quality of all these commits involves building, i.e., compiling and testing, every incoming commit in the CI environment. At the same time, dozens of additional builds also need to be performed to ensure that the software can reliably be executed on all supported platforms, hardware and configurations. Hence, CI becomes an expensive process. In this thesis, we study techniques that can help reduce the cost of CI by scheduling less builds. We study the existing approaches SmartBuildSkip, CI-Skip rules and Batching algorithms (Batch4, BatchStop4, BatchDivide4 and BatchBisect), then perform empirical studies to analyse the advantages and drawbacks of existing techniques and propose 3 novel heuristics based on them i.e., ML-CI, Timeout Rule and Lightweight Dynamic batching. In our two large scale studies of 79,482 builds from 20 open-source projects and 286,848 commits from 50 open-source projects, we find that our novel heuristics can match the performance of state-of-the-art heuristics and even improve upon them by enhancing them with simple history based features. In particular, we observe that by combining the prediction power of SmartBuildSkip with the ability of Batching algorithms to drastically reduce the number of scheduled builds during CI in our ML-CI and Timeout rule approach, we require 38.21% less builds than batching algorithms and 96% less turn-around-time than SmartBuildSkip. Moreover, we find that we can use simple and lightweight techniques to further enhance the performance of static batching algorithms by 4.3% to 11.9% and can also match the performance of the more complex state-of-the-art dynamic batching algorithm.
Description
Citation
Publisher
License
Queen's University's Thesis/Dissertation Non-Exclusive License for Deposit to QSpace and Library and Archives Canada
Proquest PhD and Master's Theses International Dissemination Agreement
Intellectual Property Guidelines at Queen's University
Copying and Preserving Your Thesis
This publication is made available by the authority of the copyright owner solely for the purpose of private study and research and may not be copied or reproduced except as permitted by the copyright laws without written authority from the copyright owne
Proquest PhD and Master's Theses International Dissemination Agreement
Intellectual Property Guidelines at Queen's University
Copying and Preserving Your Thesis
This publication is made available by the authority of the copyright owner solely for the purpose of private study and research and may not be copied or reproduced except as permitted by the copyright laws without written authority from the copyright owne