A Cost-efficient Approach to Building in Continuous Integration

A Cost-efficient Approach to Building in Continuous Integration
复制标题

构建持续集成的经济有效的方法

DOI:
10.1145/3377811.3380437
复制
发表时间:
2020
期刊:
2020 IEEE/ACM 42nd International Conference on Software Engineering (ICSE)
影响因子:
--
通讯作者:
Francisco Servant
Francisco Servant
中科院分区:
--
文献类型:
--
作者:
Xianhao Jin;Francisco Servant

文献摘要

参考文献

被引文献

相似文献

持续集成(CI)是现代软件工程中广泛使用的实践。不幸的是,这也是一种昂贵的做法 - Google 和 Mozilla 估计他们的 CI 系统需要数百万美元。在本文中,我们提出了一种降低 CI 成本的新方法。 CI 的成本在于运行构建的计算能力,其价值主要在于让开发人员尽早发现错误 - 当错误规模还很小时。因此,我们的目标是通过仍然尽早执行尽可能多的失败构建来减少 CI 执行的构建数量。为了实现这一目标,我们提出了 SmartBuildSkip,这是一种分别预测构建失败序列中的第一个构建和其余构建失败的技术。 SmartBuildSkip 是可定制的,允许开发人员选择不同的首选权衡:保存许多构建与尽早观察构建失败。我们评估了 SmartBuildSkip 的激励假设、其预测能力以及在现实场景中的成本节省。在最保守的配置中,SmartBuildSkip 在 15% 的失败构建中仅产生 1 个构建的中值延迟,从而节省了中值 30% 的构建。
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. In this paper, we propose a novel approach for reducing the cost of CI. The cost of CI lies in the computing power to run builds and its value mostly lies on letting developers find bugs early - when their size is still small. Thus, we target reducing the number of builds that CI executes by still executing as many failing builds as early as possible. To achieve this goal, we propose SmartBuildSkip, a technique which predicts the first builds in a sequence of build failures and the remaining build failures separately. SmartBuildSkip is customizable, allowing developers to select different preferred trade-offs of saving many builds vs. observing build failures early. We evaluate the motivating hypothesis of SmartBuildSkip, its prediction power, and its cost savings in a realistic scenario. In its most conservative configuration, SmartBuildSkip saved a median 30% of builds by only incurring a median delay of 1 build in a median of 15% failing builds.
DOI: 10.1109/icse.2019.00056
发表时间: 2019-05
期刊: 2019 IEEE/ACM 41st International Conference on Software Engineering (ICSE)
影响因子: --
作者:
Chenguang Zhu;Owolabi Legunsen;A. Shi;Miloš Gligorić
通讯作者: Chenguang Zhu;Owolabi Legunsen;A. Shi;Miloš Gligorić