Characterizing Timeout Builds in Continuous Integration

被引:0
|
作者
Weeraddana, Nimmi [1 ]
Alfadel, Mahmoud [1 ]
McIntosh, Shane [1 ]
机构
[1] Univ Waterloo, Cheriton Sch Comp Sci, Waterloo, ON N2L 3G1, Canada
关键词
Build systems; continuous integration; timeout builds; statistical models; PREDICTION; AGREEMENT; ERROR;
D O I
10.1109/TSE.2024.3387840
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Compute resources that enable Continuous Integration (CI, i.e., the automatic build and test cycle applied to the change sets that development teams produce) are a shared commodity that organizations need to manage. To prevent (erroneous) builds from consuming a large amount of resources, CI service providers often impose a time limit. CI builds that exceed the time limit are automatically terminated. While imposing a time limit helps to prevent abuse of the service, builds that timeout (a) consume the maximum amount of resources that a CI service is willing to provide and (b) leave CI users without an indication of whether the change set will pass or fail the CI process. Therefore, understanding timeout builds and the factors that contribute to them is important for improving the stability and quality of a CI service. In this paper, we investigate the prevalence of timeout builds and the characteristics associated with them. By analyzing a curated dataset of 936 projects that adopt the CircleCI service and report at least one timeout build, we find that the median duration of a timeout build (19.7 minutes) is more than five times that of a build that produces a pass or fail result (3.4 minutes). To better understand the factors contributing to timeout builds, we model timeout builds using characteristics of project build history, build queued time, timeout tendency, size, and author experience based on data collected from 105,663 CI builds. Our model demonstrates a discriminatory power that vastly surpasses that of a random predictor (Area Under the Receiver Operating characteristic Curve, i.e., $AUROC$AUROC = 0.939) and is highly stable in its performance ($AUROC$AUROC optimism = 0.0001). Moreover, our model reveals that the build history and timeout tendency features are strong indicators of timeout builds, with the timeout status of the most recent build accounting for the largest proportion of the explanatory power. A longitudinal analysis of the incidences of timeout builds (i.e., a study conducted over a period of time) indicates that 64.03% of timeout builds occur consecutively. In such cases, it takes a median of 24 hours before a build that passes or fails occurs. Our results imply that CI providers should exploit build history to anticipate timeout builds.
引用
收藏
页码:1450 / 1463
页数:14
相关论文
共 50 条
  • [1] The power of continuous integration builds and agile development
    Agile Test.: How to Succeed in an Extreme Test. Environment, (93-102):
  • [2] Characterizing the Influence of Continuous Integration
    Rahman, Akond
    Agrawal, Amritanshu
    Krishna, Rahul
    Sobran, Alexander
    PROCEEDINGS OF THE 4TH ACM SIGSOFT INTERNATIONAL WORKSHOP ON SOFTWARE ANALYTICS (SWAN'18), 2018, : 8 - 14
  • [3] An empirical study of the long duration of continuous integration builds
    Taher Ahmed Ghaleb
    Daniel Alencar da Costa
    Ying Zou
    Empirical Software Engineering, 2019, 24 : 2102 - 2139
  • [4] An empirical study of the long duration of continuous integration builds
    Ghaleb, Taher Ahmed
    da Costa, Daniel Alencar
    Zou, Ying
    EMPIRICAL SOFTWARE ENGINEERING, 2019, 24 (04) : 2102 - 2139
  • [5] Continuous Intrusion: Characterizing the Security of Continuous Integration Services
    Gu, Yacong
    Ying, Lingyun
    Chai, Huajun
    Qiao, Chu
    Duan, Haixin
    Gao, Xing
    2023 IEEE SYMPOSIUM ON SECURITY AND PRIVACY, SP, 2023, : 1561 - 1577
  • [6] Studying the Interplay Between the Durations and Breakages of Continuous Integration Builds
    Ghaleb, Taher A.
    Hassan, Safwat
    Zou, Ying
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2023, 49 (04) : 2476 - 2497
  • [7] Does using Bazel help speed up continuous integration builds?
    Zheng, Shenyu
    Adams, Bram
    Hassan, Ahmed E.
    EMPIRICAL SOFTWARE ENGINEERING, 2024, 29 (05)
  • [8] On the Interplay between Non-Functional Requirements and Builds on Continuous Integration
    Paixao, Klerisson V. R.
    Felicio, Cricia Z.
    Delfim, Fernando M.
    Maia, Marcelo de A.
    2017 IEEE/ACM 14TH INTERNATIONAL CONFERENCE ON MINING SOFTWARE REPOSITORIES (MSR 2017), 2017, : 479 - 482
  • [9] A Study on the Interplay between Pull Request Review and Continuous Integration Builds
    Zampetti, Fiorella
    Bavota, Gabriele
    Canfora, Gerardo
    Di Penta, Massimiliano
    2019 IEEE 26TH INTERNATIONAL CONFERENCE ON SOFTWARE ANALYSIS, EVOLUTION AND REENGINEERING (SANER), 2019, : 38 - 48
  • [10] Patterns for Continuous Integration Builds in Cross-Platform Agile Software Development
    Hsieh, Chin-Yun
    Chen, Chien-Tsun
    JOURNAL OF INFORMATION SCIENCE AND ENGINEERING, 2015, 31 (03) : 897 - 924