Reducing cost in continuous integration with a collection of build selection approaches

X Jin - Proceedings of the 29th ACM Joint Meeting on …, 2021 - dl.acm.org
Proceedings of the 29th ACM Joint Meeting on European Software Engineering …, 2021dl.acm.org
Continuous integration (CI) is a widely used practice in modern software engineering.
Unfortunately, it is also an expensive practice—Google and Mozilla estimate their CI
systems in millions of dollars. To reduce CI computation cost, I propose the strategy of build
selection to selectively execute those builds whose outcomes are failing and skip those
passing builds for cost-saving. In my research, I firstly designed SmartBuildSkip as my first
build selection approach that can skip unfruitful builds in CI automatically. Next, I evaluated …
Continuous integration (CI) is a widely used practice in modern software engineering. Unfortunately, it is also an expensive practice — Google and Mozilla estimate their CI systems in millions of dollars. To reduce CI computation cost, I propose the strategy of build selection to selectively execute those builds whose outcomes are failing and skip those passing builds for cost-saving. In my research, I firstly designed SmartBuildSkip as my first build selection approach that can skip unfruitful builds in CI automatically. Next, I evaluated SmartBuildSkip with all CI-improving approaches for understanding the strength and weakness of existing approaches to recommend future technique design. Then I proposed PreciseBuildSkip as a build selection approach to maximize the safety of skipping builds in CI. I also combined existing approaches both within and across granularity to be applied as a new build selection approach — HybridBuildSkip to save builds in a hybrid way. Finally, I plan to propose a human study to understand how to increase developers' trust on build selection approaches.
ACM Digital Library