Rechecking Recheck Requests in Continuous Integration: An Empirical Study of OpenStack
Yelizaveta Brus, Rungroj Maipradit, Earl T. Barr, Shane McIntosh
Abstract
Continuous Integration (CI) is a process for automatically checking patch sets for errors. CI periodically fails due to non-deterministic (a.k.a., "flaky") behaviour. Since a patch set may not be the cause of a flaky failure, developers can issue a "recheck" command to request retesting a patch set. Developers waste time considering whether or not to issue a recheck after a CI failure. Prior work also shows that rechecks are issued liberally, wasting up to 187.4 compute years when CI continues to fail. To save developer time and avoid wasteful rechecks, we fit and analyze statistical models that discriminate between successful and failing rechecks, i.e., those rechecks that will change a failing CI run into a successful one and those that will fail again. Through an empirical study of 314,947 recheck requests from OpenStack, we find that our model can differentiate successful and failed rechecks well, outperforming baseline approaches by 23.6 percentage points in terms of AUROC (0.736). Analysis of our model suggests that, in terms of explanatory power, past behaviour of jobs, bots, and users dominate static characteristics of patch sets. Applying our model to automatically request rechecks for those predicted to succeed would have saved roughly 247 years of elapsed developer time for OpenStack. Applying our model to skip recheck requests when they are predicted to fail would avoid 86.49% of wasted rechecks, saving roughly 262 years of compute time.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Builds on10
- A study on the lifecycle of flaky testsWing Lam, Kivanç Muslu, Hitesh Sajnani, Suresh ThummalapentaICSE 2020 · 107 citations
- A first look at good first issues on GitHubXin Tan, Minghui Zhou, Zeyu SunFSE 2020 · 62 citations
- A cost-efficient approach to building in continuous integrationXianhao Jin, Francisco ServantICSE 2020 · 34 citations
- BUILDFAST: History-Aware Build Outcome Prediction for Fast Feedback and Reduced Cost in Continuous IntegrationBihuan Chen, Linlin Chen, Chen Zhang, Xin PengASE 2020 · 32 citations
- Lessons from Eight Years of Operational Data from a Continuous Integration Service: An Exploratory Case Study of CircleCIKeheliya Gallaba, Maxime Lamothe, Shane McIntoshICSE 2022 · 28 citations
Related papers
- Repeated Builds During Code Review: An Empirical Study of the OpenStack CommunityRungroj Maipradit, Dong Wang, Patanamon Thongtanunam, Raula Gaikovina Kula et al.ASE 2023 · 8 citations
- FlakeFlagger: Predicting Flakiness Without Rerunning TestsAbdulrahman Alshammari, Christopher Morris, Michael Hilton, Jonathan BellICSE 2021 · 63 citations
- Towards language-independent Brown Build DetectionDoriane Olewicki, Mathieu Nayrolles, Bram AdamsICSE 2022 · 17 citations
- Continuous test suite failure predictionCong Pan, Michael PradelISSTA 2021 · 22 citations
- FlakyGuard: Automatically Fixing Flaky Tests at Industry ScaleChengpeng Li, Farnaz Behrang, August Shi, Peng LiuASE 2025 · 1 citation
