Cache-Related Smells in GitLab CI/CD: Comprehensive Catalog, Automated Detection, and Empirical Evidence
Francesco Urdih, Theodoros Theodoropoulos, Uwe Zdun

TL;DR
This paper identifies and catalogs cache-related issues in GitLab CI/CD, introduces an automated detection tool called CROSSER, and provides empirical evidence of the prevalence of these issues in open-source projects.
Contribution
It presents a comprehensive catalog of cache-related smells, a detection tool with high accuracy, and empirical analysis of their occurrence in real-world projects.
Findings
Widespread presence of cache-related smells in open-source projects
CROSSER achieves an F1 score of 0.98 in detection
Only 11% of projects are free of cache-related smells
Abstract
Continuous Integration and Deployment (CI/CD) facilitate rapid software delivery, making fast feedback and minimal downtime essential. While caching has been shown to be an effective technique for tackling pipeline performance and reliability issues, existing works have primarily focused on missing dependency caches, ignoring other types of caches and cache misconfigurations. In this paper, we present a comprehensive catalog of ten cache-related smells in GitLab CI/CD that negatively impact performance and reliability, validated on a corpus of grey literature. To address the smells, we propose CROSSER, a tool that automatically detects seven of the ten smells. We evaluate CROSSER on a manually labeled dataset of 82 mature projects, achieving an overall F1 score of 0.98. Finally, we investigate the presence of smells across a large dataset of 228 mature open-source projects and outline…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
