Header

UZH-Logo

Maintenance Infos

Configuration Smells in Continuous Delivery Pipelines: A Linter and a Six-Month Study on GitLab


Vassallo, Carmine; Proksch, Sebastian; Jancso, Anna; Gall, Harald; Di Penta, Massimiliano (2020). Configuration Smells in Continuous Delivery Pipelines: A Linter and a Six-Month Study on GitLab. In: ESEC/FSE '20: 28th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering, Virtual Event, USA, 8 November 2020 - 13 November 2020, 327-337.

Abstract

An effective and efficient application of Continuous Integration (CI) and Delivery (CD) requires software projects to follow certain principles and good practices. Configuring such a CI/CD pipeline is challenging and error-prone. Therefore, automated linters have been proposed to detect errors in the pipeline. While existing linters identify syntactic errors, detect security vulnerabilities or misuse of the features provided by build servers, they do not support developers that want to prevent common misconfigurations of a CD pipeline that potentially violate CD principles (“CD smells”). To this end, we propose CD-Linter, a semantic linter that can automatically identify four different smells in pipeline configuration files. We have evaluated our approach through a large-scale and long-term study that consists of (i) monitoring 145 issues (opened in as many open-source projects) over a period of 6 months, (ii) manually validating the detection precision and recall on a representative sample of issues, and (iii) assessing the magnitude of the observed smells on 5,312 open-source projects on GitLab. Our results show that CD smells are accepted and fixed by most of the developers and our linter achieves a precision of 87% and a recall of 94%. Those smells can be frequently observed in the wild, as 31% of projects with long configurations are affected by at least one smell.

Abstract

An effective and efficient application of Continuous Integration (CI) and Delivery (CD) requires software projects to follow certain principles and good practices. Configuring such a CI/CD pipeline is challenging and error-prone. Therefore, automated linters have been proposed to detect errors in the pipeline. While existing linters identify syntactic errors, detect security vulnerabilities or misuse of the features provided by build servers, they do not support developers that want to prevent common misconfigurations of a CD pipeline that potentially violate CD principles (“CD smells”). To this end, we propose CD-Linter, a semantic linter that can automatically identify four different smells in pipeline configuration files. We have evaluated our approach through a large-scale and long-term study that consists of (i) monitoring 145 issues (opened in as many open-source projects) over a period of 6 months, (ii) manually validating the detection precision and recall on a representative sample of issues, and (iii) assessing the magnitude of the observed smells on 5,312 open-source projects on GitLab. Our results show that CD smells are accepted and fixed by most of the developers and our linter achieves a precision of 87% and a recall of 94%. Those smells can be frequently observed in the wild, as 31% of projects with long configurations are affected by at least one smell.

Statistics

Citations

Dimensions.ai Metrics

Altmetrics

Downloads

16 downloads since deposited on 29 Jan 2021
16 downloads since 12 months
Detailed statistics

Additional indexing

Item Type:Conference or Workshop Item (Paper), refereed, original work
Communities & Collections:03 Faculty of Economics > Department of Informatics
Dewey Decimal Classification:000 Computer science, knowledge & systems
Scopus Subject Areas:Physical Sciences > Software
Language:English
Event End Date:13 November 2020
Deposited On:29 Jan 2021 05:43
Last Modified:30 Jan 2021 21:01
Publisher:ACM
OA Status:Green
Publisher DOI:https://doi.org/10.1145/3368089.3409709
Related URLs:https://dl.acm.org/doi/10.1145/3368089.3409709
Other Identification Number:merlin-id:20339

Download

Green Open Access

Download PDF  'Configuration Smells in Continuous Delivery Pipelines: A Linter and a Six-Month Study on GitLab'.
Preview
Content: Published Version
Filetype: PDF
Size: 770kB
View at publisher