Search papers, labs, and topics across Lattice.
This paper introduces a catalog of ten cache-related "smells" in GitLab CI/CD configurations that degrade pipeline performance and reliability, going beyond simple dependency caching issues. They developed CROSSER, a tool for automatically detecting seven of these smells, achieving a high F1 score of 0.98 on a labeled dataset. An empirical study across 228 open-source projects revealed that 89% of projects exhibit at least one of these smells, indicating a widespread problem.
89% of mature open-source projects suffer from cache-related misconfigurations in their GitLab CI/CD pipelines, highlighting a blind spot in current CI/CD best practices.
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 our empirical findings. Our results show a widespread frequency of the smells, as only 11% of the projects do not present any. We also show that developers may not be aware of higher-level caching functionalities.