Conference paper Open Access

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

Vassallo, Carmine; Proksch, Sebastian; Jancso, Anna; Gall, Harald C.; Di Penta, Massimiliano


DCAT Export

<?xml version='1.0' encoding='utf-8'?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:adms="http://www.w3.org/ns/adms#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dct="http://purl.org/dc/terms/" xmlns:dctype="http://purl.org/dc/dcmitype/" xmlns:dcat="http://www.w3.org/ns/dcat#" xmlns:duv="http://www.w3.org/ns/duv#" xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:frapo="http://purl.org/cerif/frapo/" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:gsp="http://www.opengis.net/ont/geosparql#" xmlns:locn="http://www.w3.org/ns/locn#" xmlns:org="http://www.w3.org/ns/org#" xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:prov="http://www.w3.org/ns/prov#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:schema="http://schema.org/" xmlns:skos="http://www.w3.org/2004/02/skos/core#" xmlns:vcard="http://www.w3.org/2006/vcard/ns#" xmlns:wdrs="http://www.w3.org/2007/05/powder-s#">
  <rdf:Description rdf:about="https://doi.org/10.5281/zenodo.4024796">
    <dct:identifier rdf:datatype="http://www.w3.org/2001/XMLSchema#anyURI">https://doi.org/10.5281/zenodo.4024796</dct:identifier>
    <foaf:page rdf:resource="https://doi.org/10.5281/zenodo.4024796"/>
    <dct:creator>
      <rdf:Description rdf:about="http://orcid.org/0000-0003-0495-6803">
        <rdf:type rdf:resource="http://xmlns.com/foaf/0.1/Agent"/>
        <dct:identifier rdf:datatype="http://www.w3.org/2001/XMLSchema#string">0000-0003-0495-6803</dct:identifier>
        <foaf:name>Vassallo, Carmine</foaf:name>
        <foaf:givenName>Carmine</foaf:givenName>
        <foaf:familyName>Vassallo</foaf:familyName>
        <org:memberOf>
          <foaf:Organization>
            <foaf:name>University of Zurich</foaf:name>
          </foaf:Organization>
        </org:memberOf>
      </rdf:Description>
    </dct:creator>
    <dct:creator>
      <rdf:Description rdf:about="http://orcid.org/0000-0003-1856-9361">
        <rdf:type rdf:resource="http://xmlns.com/foaf/0.1/Agent"/>
        <dct:identifier rdf:datatype="http://www.w3.org/2001/XMLSchema#string">0000-0003-1856-9361</dct:identifier>
        <foaf:name>Proksch, Sebastian</foaf:name>
        <foaf:givenName>Sebastian</foaf:givenName>
        <foaf:familyName>Proksch</foaf:familyName>
        <org:memberOf>
          <foaf:Organization>
            <foaf:name>Delft University of Technology</foaf:name>
          </foaf:Organization>
        </org:memberOf>
      </rdf:Description>
    </dct:creator>
    <dct:creator>
      <rdf:Description>
        <rdf:type rdf:resource="http://xmlns.com/foaf/0.1/Agent"/>
        <foaf:name>Jancso, Anna</foaf:name>
        <foaf:givenName>Anna</foaf:givenName>
        <foaf:familyName>Jancso</foaf:familyName>
        <org:memberOf>
          <foaf:Organization>
            <foaf:name>University of Zurich</foaf:name>
          </foaf:Organization>
        </org:memberOf>
      </rdf:Description>
    </dct:creator>
    <dct:creator>
      <rdf:Description rdf:about="http://orcid.org/0000-0002-3874-5628">
        <rdf:type rdf:resource="http://xmlns.com/foaf/0.1/Agent"/>
        <dct:identifier rdf:datatype="http://www.w3.org/2001/XMLSchema#string">0000-0002-3874-5628</dct:identifier>
        <foaf:name>Gall, Harald C.</foaf:name>
        <foaf:givenName>Harald C.</foaf:givenName>
        <foaf:familyName>Gall</foaf:familyName>
        <org:memberOf>
          <foaf:Organization>
            <foaf:name>University of Zurich</foaf:name>
          </foaf:Organization>
        </org:memberOf>
      </rdf:Description>
    </dct:creator>
    <dct:creator>
      <rdf:Description rdf:about="http://orcid.org/0000-0002-0340-9747">
        <rdf:type rdf:resource="http://xmlns.com/foaf/0.1/Agent"/>
        <dct:identifier rdf:datatype="http://www.w3.org/2001/XMLSchema#string">0000-0002-0340-9747</dct:identifier>
        <foaf:name>Di Penta, Massimiliano</foaf:name>
        <foaf:givenName>Massimiliano</foaf:givenName>
        <foaf:familyName>Di Penta</foaf:familyName>
        <org:memberOf>
          <foaf:Organization>
            <foaf:name>University of Sannio</foaf:name>
          </foaf:Organization>
        </org:memberOf>
      </rdf:Description>
    </dct:creator>
    <dct:title>Configuration Smells in Continuous Delivery Pipelines: A Linter and A Six-Month Study on GitLab</dct:title>
    <dct:publisher>
      <foaf:Agent>
        <foaf:name>Zenodo</foaf:name>
      </foaf:Agent>
    </dct:publisher>
    <dct:issued rdf:datatype="http://www.w3.org/2001/XMLSchema#gYear">2020</dct:issued>
    <dcat:keyword>Continuous Delivery</dcat:keyword>
    <dcat:keyword>Continuous Integration</dcat:keyword>
    <dcat:keyword>DevOps</dcat:keyword>
    <dcat:keyword>Anti-patterns</dcat:keyword>
    <dcat:keyword>Configuration</dcat:keyword>
    <dcat:keyword>GitLab</dcat:keyword>
    <dcat:keyword>Linter</dcat:keyword>
    <frapo:isFundedBy rdf:resource="info:eu-repo/grantAgreement/SNSF/Project+funding/200021_166275/"/>
    <schema:funder>
      <foaf:Organization>
        <dct:identifier rdf:datatype="http://www.w3.org/2001/XMLSchema#string">10.13039/501100001711</dct:identifier>
        <foaf:name>Schweizerischer Nationalfonds zur Förderung der Wissenschaftlichen Forschung</foaf:name>
      </foaf:Organization>
    </schema:funder>
    <dct:issued rdf:datatype="http://www.w3.org/2001/XMLSchema#date">2020-09-11</dct:issued>
    <owl:sameAs rdf:resource="https://zenodo.org/record/4024796"/>
    <adms:identifier>
      <adms:Identifier>
        <skos:notation rdf:datatype="http://www.w3.org/2001/XMLSchema#anyURI">https://zenodo.org/record/4024796</skos:notation>
        <adms:schemeAgency>url</adms:schemeAgency>
      </adms:Identifier>
    </adms:identifier>
    <dct:isVersionOf rdf:resource="https://doi.org/10.5281/zenodo.3860984"/>
    <dct:isPartOf rdf:resource="https://zenodo.org/communities/empirical-software-engineering"/>
    <owl:versionInfo>2 (Camera-ready)</owl:versionInfo>
    <dct:description>&lt;p&gt;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 (&amp;quot;CD smells&amp;quot;). To this end, we propose CD-Linter, a semantic linter that can automatically identify four different smells in such a pipeline configuration file. 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. &lt;a href="https://doi.org/10.5281/zenodo.3861003"&gt;Data and Material&lt;/a&gt;&lt;/p&gt;</dct:description>
    <dct:description>To appear in the proceedings of the ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE), Sun 8 - Fri 13 November 2020 Sacramento, California, United States.</dct:description>
    <dct:accessRights rdf:resource="http://publications.europa.eu/resource/authority/access-right/PUBLIC"/>
    <dct:accessRights>
      <dct:RightsStatement rdf:about="info:eu-repo/semantics/openAccess">
        <rdfs:label>Open Access</rdfs:label>
      </dct:RightsStatement>
    </dct:accessRights>
    <dct:license rdf:resource="https://creativecommons.org/licenses/by/4.0/legalcode"/>
    <dcat:distribution>
      <dcat:Distribution>
        <dcat:accessURL rdf:resource="https://doi.org/10.5281/zenodo.4024796"/>
        <dcat:byteSize>770498</dcat:byteSize>
        <dcat:downloadURL rdf:resource="https://zenodo.org/record/4024796/files/VassalloFSE2020.pdf"/>
        <dcat:mediaType>application/pdf</dcat:mediaType>
      </dcat:Distribution>
    </dcat:distribution>
  </rdf:Description>
  <foaf:Project rdf:about="info:eu-repo/grantAgreement/SNSF/Project+funding/200021_166275/">
    <dct:identifier rdf:datatype="http://www.w3.org/2001/XMLSchema#string">200021_166275</dct:identifier>
    <dct:title>SURF-MobileAppsData</dct:title>
    <frapo:isAwardedBy>
      <foaf:Organization>
        <dct:identifier rdf:datatype="http://www.w3.org/2001/XMLSchema#string">10.13039/501100001711</dct:identifier>
        <foaf:name>Schweizerischer Nationalfonds zur Förderung der Wissenschaftlichen Forschung</foaf:name>
      </foaf:Organization>
    </frapo:isAwardedBy>
  </foaf:Project>
</rdf:RDF>
723
628
views
downloads
All versions This version
Views 723366
Downloads 628301
Data volume 483.7 MB231.9 MB
Unique views 637337
Unique downloads 573282

Share

Cite as