arrow
返回

Lightweight dynamic build batching algorithms for continuous integration

delete2025-01-08
delete0
PRE
AI
D
Divya M. Kamath *
B
Bram Adams
A
Ahmed E. Hassan
DOI:10.1007/s10664-024-10555-4delete
delete原文链接
delete原文求助
delete分享
delete收藏
摘要

摘要

En 中文
Continuous Integration (CI) is a widely adopted process in software engineering that virtually merges developers' pull requests with the code base to perform builds and tests essential for quality assurance. CI, however, is also an expensive process, due to the large number of pull requests that are pushed by developers on a daily basis. To reduce the cost of CI, many companies adopt batching algorithms that combine several commits into a single build, either with a fixed or a dynamically evolving batch size. While a successful, dynamic batching technique has been proposed by earlier work, we propose a fully online, more flexible dynamic batching technique that can be configured on-the-fly and updates batch sizes only based on the outcome of the previous batch build. Empirical evaluation on 286,848 commits from 50 open-source projects using TravisCI shows that our lightweight batching technique can perform equally well to the more complex state-of-the-art batching techniques, and save a median of 4.75% more builds than static batching techniques.
Keyword:
Software build
Build avoidance heuristic
Software analysis
Empirical study

期刊

Empirical Software Engineering 封面图
Empirical Software Engineering
IF:
3.6
论文数:
2.0K
被引数:
5.3K

机构

Q
queens university - canada
学者数:
1.8W
论文数: 1.7W
被引数: 29
引用论文

引用论文

err分享
err收藏
Ionic Liquids with Solvatochromatic and Charge-Transfer Functionalities Incorporating the Viologen Moiety
err2013-01-01
err0
PREAI
errH. Q. Nimal Gunaratne; Peter Nockemann; Sonia Olejarz; Stephanie M. Reid; Kenneth R. Seddon; Geetha Srinivasan
err分享
err收藏
Correct, Efficient, and Tailored The Future of Build Systems
err2018-03-01
err10
PREAI
errMaudoux, Guillaume; Mens, Kim
err分享
err收藏
err
IF0
err
err0
PREAI
err
err分享
err收藏
err分享
err收藏
学者 查看更多内容