Cutting the Software Building Efforts in Continuous Integration by Semi-Supervised Online AUC Optimization

Cutting the Software Building Efforts in Continuous Integration by Semi-Supervised Online AUC Optimization

Zheng Xie, Ming Li

Proceedings of the Twenty-Seventh International Joint Conference on Artificial Intelligence
Main track. Pages 2875-2881. https://doi.org/10.24963/ijcai.2018/399

Continuous Integration (CI) systems aim to provide quick feedback on the success of the code changes by keeping on building the entire systems upon code changes are committed. However, building the entire software system is usually resource and time consuming. Thus, build outcome prediction is usually employed to distinguish the successful builds from the failed ones to cut the building efforts on those successful builds that do not result in any immediate action of the developer. Nevertheless, build outcome prediction in CI is challenging since the learner should be able to learn from a stream of build events with and without the build outcome labels and provide immediate prediction on the next build event. Also, the distribution of the successful and the failed builds are often highly imbalanced. Unfortunately, the existing methods fail to address these challenges well. In this paper, we address these challenges by proposing a semi-supervised online AUC optimization method for CI build outcome prediction. Experiments indicate that our method is able to cut the software building efforts by effectively identify the successful builds, and it outperforms the existing methods that elaborate to address part of these challenges.
Keywords:
Machine Learning: Semi-Supervised Learning
Multidisciplinary Topics and Applications: Knowledge-based Software Engineering