Which builds are really safe to skip? Maximizing failure observation for build selection in continuous integration

Which builds are really safe to skip? Maximizing failure observation for build selection in continuous integration
复制标题

哪些构建确实可以安全地跳过?

DOI:
10.1016/j.jss.2022.111292
复制
发表时间:
2022
影响因子:
3.5
通讯作者:
Servant, Francisco
Servant, Francisco
中科院分区:
计算机科学2区
文献类型:
--
作者:
Jin, Xianhao;Servant, Francisco

文献摘要

参考文献

被引文献

相似文献

持续集成(CI)是现代软件工程中广泛应用的实践。不幸的是,这也是一种昂贵的做法。b谷歌和Mozilla估计他们在CI系统上的花费为数百万美元。为了降低CI的成本,研究人员开发了多种方法来减少其计算工作负载需求。然而,这些方法有时会做出错误的预测,并跳过不希望被跳过的失败构建。因此,在本文中,我们的目标是在CI中节省计算成本,同时最大限度地观察失败构建,即。,以更安全地跳过构建。首先,我们进行实证研究,以了解哪些构建是可以安全跳过的,从CI-Skip规则(Abdalkareem等人,2019)开始,这些规则描述了开发人员决定跳过的构建。我们观察到CI-Skip规则并不像预期的那么安全。然后我们开发一组CI-Run规则来补充这些规则。基于我们的发现,我们提出了precisebuildskip,这是一种通过构建选择策略最大化构建失败观察并降低CI成本的新方法。我们评估了我们的方法,结果表明我们的方法比最安全的现有技术节省了更多的成本(5.5%),但将错误跳过的失败构建从4.1%减少到0%(中值)。
Continuous integration (CI) is a widely used practice in modern software engineering. Unfortunately, it is also an expensive practice. Google and Mozilla estimate their expenses for their CI systems in millions of dollars. To reduce the cost of CI, researchers developed multiple approaches to reduce its computational workload requirements. However, these approaches sometimes make mispredictions and skip failing builds which are not desirable to be skipped. Thus, in this paper, we aim to save computational cost in CI, while also maximizing the observation of failing builds,i.e.,to skip builds more safely. First, we perform empirical studies to understand which builds are safe to skip, starting from CI-Skip rules (Abdalkareem et al., 2019) that characterize builds that developers decide to skip. We observe that CI-Skip rules are not so safe as expected. We then develop a collection of CI-Run rules that can complement these rules. Based on our findings, we proposePreciseBuildSkip, a novel approach that maximizes build failure observation and reduces the cost of CI through the strategy of build selection. We evaluate our approach and results show that our approach saved more cost (5.5%) than the safest existing technique but reduced the falsely skipped failing builds from 4.1% to 0% (median value).
DOI: 10.1145/3377811.3380437
发表时间: 2020
期刊: 2020 IEEE/ACM 42nd International Conference on Software Engineering (ICSE)
影响因子: --
作者:
Xianhao Jin;Francisco Servant
通讯作者: Francisco Servant
持续集成中的活动、流行度、规模、测试和稳定性的实证研究
DOI: 10.1109/msr.2017.38
发表时间: 2017
期刊: 2017 IEEE/ACM 14th International Conference on Mining Software Repositories (MSR)
影响因子: --
作者:
Aakash Gautam;Saket Vishwasrao;Francisco Servant
通讯作者: Francisco Servant
持续集成中构建失败的简要研究:因果关系
DOI: 10.1007/978-981-13-0224-4_2
发表时间: 2018
期刊: Advances in Intelligent Systems and Computing
影响因子: --
作者:
Romit Jain;Saket Singh;Bharavi Mishra
通讯作者: Bharavi Mishra
历史切片:协助代码演化任务
DOI: 10.1145/2393596.2393646
发表时间: 2012
影响因子: 7.4
作者:
Francisco Servant;James A. Jones
通讯作者: James A. Jones
DOI: --
发表时间: 2008
期刊: Agile Conference
影响因子: --
作者:
A. Miller
通讯作者: A. Miller