What Happened in This Pipeline? Diffing Build Logs with CiDiff
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
Authors
- Raluca Uricaru (ORCID: https://orcid.org/0000-0002-5730-6428)
- Thomas Degueule (ORCID: https://orcid.org/0000-0002-5961-7940)
- Thomas Durieux (ORCID: https://orcid.org/0000-0002-1996-6134)
- Jean‐Rémy Falleri (ORCID: https://orcid.org/0000-0002-8284-7218)
- Nicolas Hubner
Institutions
- Centre National de la Recherche Scientifique (FR)
- Université de Bordeaux (FR)
- Laboratoire Bordelais de Recherche en Informatique (FR)
- Institut Polytechnique de Bordeaux (FR)
- Delft University of Technology (NL)
Publication Details
- Journal
- Proceedings of the ACM on software engineering.
- Published
- 2025-06-22
- DOI
- https://doi.org/10.1145/3728966
- Primary Topic
- Software System Performance and Reliability
- Type
- article
- Field-Weighted Citation Impact
- 0.00
Funders
- Agence Nationale de la Recherche