What Happened in This Pipeline? Diffing Build Logs with CiDiff
Nicolas Hubner, Jean-Rémy Falleri, Raluca Uricaru, Thomas Degueule, Thomas Durieux
Abstract
Continuous integration (CI) is widely used by developers to ensure the quality and reliability of their software projects. However, diagnosing a CI regression is a tedious process that involves the manual analysis of lengthy build logs. In this paper, we explore how textual differencing can support the debugging of CI regressions. As off-the-shelf diff algorithms produce suboptimal results, in this work we introduce a new diff algorithm specifically tailored to build logs called CiDiff. We evaluate CiDiff against several baselines on a novel dataset of 17 906 CI regressions, performing an accuracy study, a quantitative study and a user-study. Notably, our algorithm reduces the number of lines to inspect by about 60 % in the median case, with reasonable overhead compared to the state-of-practice LCS-diff. Finally, our algorithm is preferred by the majority of participants in 70 % of the regression cases, whereas LCS-diff is preferred in only 5 % of the cases.
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.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext ee789693-9347-4e8b-baf9-9f6815e22047Builds on3
- Fonte: Finding Bug Inducing Commits from FailuresGabin An, Jingun Hong, Naryeong Kim, Shin YooICSE 2023 · 10 citations
- Buildsheriff: Change-Aware Test Failure Triage for Continuous Integration BuildsChen Zhang, Bihuan Chen, Xin Peng, Wenyun ZhaoICSE 2022 · 10 citations
- Fine-grained, accurate and scalable source differencingJean-Rémy Falleri, Matias MartinezICSE 2024 · 9 citations
Related papers
- Towards language-independent Brown Build DetectionDoriane Olewicki, Mathieu Nayrolles, Bram AdamsICSE 2022 · 17 citations
- Configuration smells in continuous delivery pipelines: a linter and a six-month study on GitLabCarmine Vassallo, Sebastian Proksch, Anna Jancso, Harald C. Gall et al.FSE 2020 · 43 citations
- Maximizing Patch Coverage for Testing of Highly-Configurable Software without Exploding Build TimesNecip Fazil Yildiran, Jeho Oh, Julia Lawall, Paul GazzilloFSE 2024 · 7 citations
- BuildSonic: Detecting and Repairing Performance-Related Configuration Smells for Continuous Integration BuildsChen Zhang, Bihuan Chen, Junhao Hu, Xin Peng et al.ASE 2022 · 11 citations
- Detecting Build Conflicts in Software Merge for Java Programs via Static AnalysisSheikh Shadab Towqir, Bowen Shen, Muhammad Ali Gulzar, Na MengASE 2022 · 7 citations
