{"id":"https://openalex.org/W3106063118","doi":"https://doi.org/10.1145/3368089.3409709","title":"Configuration smells in continuous delivery pipelines: a linter and a six-month study on GitLab","display_name":"Configuration smells in continuous delivery pipelines: a linter and a six-month study on GitLab","publication_year":2020,"publication_date":"2020-11-07","ids":{"openalex":"https://openalex.org/W3106063118","doi":"https://doi.org/10.1145/3368089.3409709","mag":"3106063118"},"language":"en","primary_location":{"id":"doi:10.1145/3368089.3409709","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3368089.3409709","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 28th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering","raw_type":"proceedings-article"},"type":"article","indexed_in":["crossref","datacite"],"open_access":{"is_oa":true,"oa_status":"green","oa_url":null,"any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5040635066","display_name":"Carmine Vassallo","orcid":"https://orcid.org/0000-0003-0495-6803"},"institutions":[{"id":"https://openalex.org/I202697423","display_name":"University of Zurich","ror":"https://ror.org/02crff812","country_code":"CH","type":"education","lineage":["https://openalex.org/I202697423"]}],"countries":["CH"],"is_corresponding":true,"raw_author_name":"Carmine Vassallo","raw_affiliation_strings":["University of Zurich, Switzerland"],"affiliations":[{"raw_affiliation_string":"University of Zurich, Switzerland","institution_ids":["https://openalex.org/I202697423"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5003806730","display_name":"Sebastian Proksch","orcid":"https://orcid.org/0000-0003-1856-9361"},"institutions":[{"id":"https://openalex.org/I98358874","display_name":"Delft University of Technology","ror":"https://ror.org/02e2c7k09","country_code":"NL","type":"education","lineage":["https://openalex.org/I98358874"]}],"countries":["NL"],"is_corresponding":false,"raw_author_name":"Sebastian Proksch","raw_affiliation_strings":["Delft University of Technology, Netherlands"],"affiliations":[{"raw_affiliation_string":"Delft University of Technology, Netherlands","institution_ids":["https://openalex.org/I98358874"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5062572036","display_name":"Anna Jancso","orcid":"https://orcid.org/0000-0002-4383-035X"},"institutions":[{"id":"https://openalex.org/I202697423","display_name":"University of Zurich","ror":"https://ror.org/02crff812","country_code":"CH","type":"education","lineage":["https://openalex.org/I202697423"]}],"countries":["CH"],"is_corresponding":false,"raw_author_name":"Anna Jancso","raw_affiliation_strings":["University of Zurich, Switzerland"],"affiliations":[{"raw_affiliation_string":"University of Zurich, Switzerland","institution_ids":["https://openalex.org/I202697423"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5009436227","display_name":"Harald C. Gall","orcid":"https://orcid.org/0000-0002-3874-5628"},"institutions":[{"id":"https://openalex.org/I202697423","display_name":"University of Zurich","ror":"https://ror.org/02crff812","country_code":"CH","type":"education","lineage":["https://openalex.org/I202697423"]}],"countries":["CH"],"is_corresponding":false,"raw_author_name":"Harald C. Gall","raw_affiliation_strings":["University of Zurich, Switzerland"],"affiliations":[{"raw_affiliation_string":"University of Zurich, Switzerland","institution_ids":["https://openalex.org/I202697423"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5025099559","display_name":"Massimiliano Di Penta","orcid":"https://orcid.org/0000-0002-0340-9747"},"institutions":[{"id":"https://openalex.org/I16337185","display_name":"University of Sannio","ror":"https://ror.org/04vc81p87","country_code":"IT","type":"education","lineage":["https://openalex.org/I16337185"]}],"countries":["IT"],"is_corresponding":false,"raw_author_name":"Massimiliano Di Penta","raw_affiliation_strings":["University of Sannio, Italy"],"affiliations":[{"raw_affiliation_string":"University of Sannio, Italy","institution_ids":["https://openalex.org/I16337185"]}]}],"institutions":[],"countries_distinct_count":3,"institutions_distinct_count":5,"corresponding_author_ids":["https://openalex.org/A5040635066"],"corresponding_institution_ids":["https://openalex.org/I202697423"],"apc_list":null,"apc_paid":null,"fwci":4.4539,"has_fulltext":false,"cited_by_count":38,"citation_normalized_percentile":{"value":0.95264342,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":97,"max":99},"biblio":{"volume":null,"issue":null,"first_page":"327","last_page":"337"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10260","display_name":"Software Engineering Research","score":1.0,"subfield":{"id":"https://openalex.org/subfields/1710","display_name":"Information Systems"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},"topics":[{"id":"https://openalex.org/T10260","display_name":"Software Engineering Research","score":1.0,"subfield":{"id":"https://openalex.org/subfields/1710","display_name":"Information Systems"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T12423","display_name":"Software Reliability and Analysis Research","score":0.998199999332428,"subfield":{"id":"https://openalex.org/subfields/1712","display_name":"Software"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T10430","display_name":"Software Engineering Techniques and Practices","score":0.9972000122070312,"subfield":{"id":"https://openalex.org/subfields/1710","display_name":"Information Systems"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}}],"keywords":[{"id":"https://openalex.org/keywords/pipeline","display_name":"Pipeline (software)","score":0.8635914325714111},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.7730035781860352},{"id":"https://openalex.org/keywords/precision-and-recall","display_name":"Precision and recall","score":0.6107479929924011},{"id":"https://openalex.org/keywords/pipeline-transport","display_name":"Pipeline transport","score":0.5665373206138611},{"id":"https://openalex.org/keywords/server","display_name":"Server","score":0.514304518699646},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.5116817951202393},{"id":"https://openalex.org/keywords/open-source","display_name":"Open source","score":0.43043699860572815},{"id":"https://openalex.org/keywords/code-smell","display_name":"Code smell","score":0.42525556683540344},{"id":"https://openalex.org/keywords/recall","display_name":"Recall","score":0.42313557863235474},{"id":"https://openalex.org/keywords/software-engineering","display_name":"Software engineering","score":0.39556506276130676},{"id":"https://openalex.org/keywords/database","display_name":"Database","score":0.3915095329284668},{"id":"https://openalex.org/keywords/computer-security","display_name":"Computer security","score":0.3328065872192383},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.2684527039527893},{"id":"https://openalex.org/keywords/software-development","display_name":"Software development","score":0.24333152174949646},{"id":"https://openalex.org/keywords/information-retrieval","display_name":"Information retrieval","score":0.20547270774841309},{"id":"https://openalex.org/keywords/software-quality","display_name":"Software quality","score":0.1429595649242401},{"id":"https://openalex.org/keywords/engineering","display_name":"Engineering","score":0.10547825694084167}],"concepts":[{"id":"https://openalex.org/C43521106","wikidata":"https://www.wikidata.org/wiki/Q2165493","display_name":"Pipeline (software)","level":2,"score":0.8635914325714111},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7730035781860352},{"id":"https://openalex.org/C81669768","wikidata":"https://www.wikidata.org/wiki/Q2359161","display_name":"Precision and recall","level":2,"score":0.6107479929924011},{"id":"https://openalex.org/C175309249","wikidata":"https://www.wikidata.org/wiki/Q725864","display_name":"Pipeline transport","level":2,"score":0.5665373206138611},{"id":"https://openalex.org/C93996380","wikidata":"https://www.wikidata.org/wiki/Q44127","display_name":"Server","level":2,"score":0.514304518699646},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.5116817951202393},{"id":"https://openalex.org/C3018397939","wikidata":"https://www.wikidata.org/wiki/Q3644502","display_name":"Open source","level":3,"score":0.43043699860572815},{"id":"https://openalex.org/C133237599","wikidata":"https://www.wikidata.org/wiki/Q2295111","display_name":"Code smell","level":5,"score":0.42525556683540344},{"id":"https://openalex.org/C100660578","wikidata":"https://www.wikidata.org/wiki/Q18733","display_name":"Recall","level":2,"score":0.42313557863235474},{"id":"https://openalex.org/C115903868","wikidata":"https://www.wikidata.org/wiki/Q80993","display_name":"Software engineering","level":1,"score":0.39556506276130676},{"id":"https://openalex.org/C77088390","wikidata":"https://www.wikidata.org/wiki/Q8513","display_name":"Database","level":1,"score":0.3915095329284668},{"id":"https://openalex.org/C38652104","wikidata":"https://www.wikidata.org/wiki/Q3510521","display_name":"Computer security","level":1,"score":0.3328065872192383},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.2684527039527893},{"id":"https://openalex.org/C529173508","wikidata":"https://www.wikidata.org/wiki/Q638608","display_name":"Software development","level":3,"score":0.24333152174949646},{"id":"https://openalex.org/C23123220","wikidata":"https://www.wikidata.org/wiki/Q816826","display_name":"Information retrieval","level":1,"score":0.20547270774841309},{"id":"https://openalex.org/C117447612","wikidata":"https://www.wikidata.org/wiki/Q1412670","display_name":"Software quality","level":4,"score":0.1429595649242401},{"id":"https://openalex.org/C127413603","wikidata":"https://www.wikidata.org/wiki/Q11023","display_name":"Engineering","level":0,"score":0.10547825694084167},{"id":"https://openalex.org/C87717796","wikidata":"https://www.wikidata.org/wiki/Q146326","display_name":"Environmental engineering","level":1,"score":0.0},{"id":"https://openalex.org/C41895202","wikidata":"https://www.wikidata.org/wiki/Q8162","display_name":"Linguistics","level":1,"score":0.0},{"id":"https://openalex.org/C138885662","wikidata":"https://www.wikidata.org/wiki/Q5891","display_name":"Philosophy","level":0,"score":0.0}],"mesh":[],"locations_count":3,"locations":[{"id":"doi:10.1145/3368089.3409709","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3368089.3409709","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 28th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering","raw_type":"proceedings-article"},{"id":"pmh:oai:www.zora.uzh.ch:198329","is_oa":true,"landing_page_url":null,"pdf_url":null,"source":{"id":"https://openalex.org/S4306401281","display_name":"Zurich Open Repository and Archive (University of Zurich)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I202697423","host_organization_name":"University of Zurich","host_organization_lineage":["https://openalex.org/I202697423"],"host_organization_lineage_names":[],"type":"repository"},"license":"other-oa","license_id":"https://openalex.org/licenses/other-oa","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Vassallo, Carmine; Proksch, Sebastian; Jancso, Anna; Gall, Harald C; 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. ACM, 327-337.","raw_type":"info:eu-repo/semantics/publishedVersion"},{"id":"doi:10.5167/uzh-198329","is_oa":true,"landing_page_url":"https://doi.org/10.5167/uzh-198329","pdf_url":null,"source":{"id":"https://openalex.org/S7407051291","display_name":"Universit\u00e4t Z\u00fcrich, ZORA","issn_l":null,"issn":[],"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":null,"is_accepted":false,"is_published":null,"raw_source_name":null,"raw_type":""}],"best_oa_location":{"id":"pmh:oai:www.zora.uzh.ch:198329","is_oa":true,"landing_page_url":null,"pdf_url":null,"source":{"id":"https://openalex.org/S4306401281","display_name":"Zurich Open Repository and Archive (University of Zurich)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I202697423","host_organization_name":"University of Zurich","host_organization_lineage":["https://openalex.org/I202697423"],"host_organization_lineage_names":[],"type":"repository"},"license":"other-oa","license_id":"https://openalex.org/licenses/other-oa","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Vassallo, Carmine; Proksch, Sebastian; Jancso, Anna; Gall, Harald C; 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. ACM, 327-337.","raw_type":"info:eu-repo/semantics/publishedVersion"},"sustainable_development_goals":[{"display_name":"Industry, innovation and infrastructure","id":"https://metadata.un.org/sdg/9","score":0.4099999964237213}],"awards":[{"id":"https://openalex.org/G5256785375","display_name":null,"funder_award_id":"200021-","funder_id":"https://openalex.org/F4320320924","funder_display_name":"Schweizerischer Nationalfonds zur F\u00f6rderung der Wissenschaftlichen Forschung"},{"id":"https://openalex.org/G5833456994","display_name":null,"funder_award_id":"200021-166275","funder_id":"https://openalex.org/F4320320924","funder_display_name":"Schweizerischer Nationalfonds zur F\u00f6rderung der Wissenschaftlichen Forschung"},{"id":"https://openalex.org/G6609185854","display_name":null,"funder_award_id":"166275","funder_id":"https://openalex.org/F4320320924","funder_display_name":"Schweizerischer Nationalfonds zur F\u00f6rderung der Wissenschaftlichen Forschung"},{"id":"https://openalex.org/G993971353","display_name":null,"funder_award_id":"200021","funder_id":"https://openalex.org/F4320320924","funder_display_name":"Schweizerischer Nationalfonds zur F\u00f6rderung der Wissenschaftlichen Forschung"}],"funders":[{"id":"https://openalex.org/F4320306076","display_name":"National Science Foundation","ror":"https://ror.org/021nxhr62"},{"id":"https://openalex.org/F4320320924","display_name":"Schweizerischer Nationalfonds zur F\u00f6rderung der Wissenschaftlichen Forschung","ror":"https://ror.org/00yjd3n13"}],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":22,"referenced_works":["https://openalex.org/W2026926213","https://openalex.org/W2040915209","https://openalex.org/W2053154970","https://openalex.org/W2069588288","https://openalex.org/W2124938770","https://openalex.org/W2149598089","https://openalex.org/W2347053969","https://openalex.org/W2402800985","https://openalex.org/W2406372219","https://openalex.org/W2740295334","https://openalex.org/W2781728735","https://openalex.org/W2795475321","https://openalex.org/W2803395207","https://openalex.org/W2808438073","https://openalex.org/W2888303318","https://openalex.org/W2954449342","https://openalex.org/W2955449396","https://openalex.org/W2955656327","https://openalex.org/W2973296283","https://openalex.org/W3000554390","https://openalex.org/W4289276777","https://openalex.org/W6968660263"],"related_works":["https://openalex.org/W4380433113","https://openalex.org/W4386072068","https://openalex.org/W252339960","https://openalex.org/W2390529043","https://openalex.org/W2378320433","https://openalex.org/W2386789060","https://openalex.org/W2358343511","https://openalex.org/W2188462452","https://openalex.org/W3106151957","https://openalex.org/W3106063118"],"abstract_inverted_index":{"An":[0],"effective":[1],"and":[2,9,19,29,111,139,147,170,177,185],"efficient":[3],"application":[4],"of":[5,54,72,116,130,145,152,174,183,188,201],"Continuous":[6],"Integration":[7],"(CI)":[8],"Delivery":[10],"(CD)":[11],"requires":[12],"software":[13],"projects":[14,159,202],"to":[15,37,68],"follow":[16],"certain":[17],"principles":[18,80],"good":[20],"practices.":[21],"Configuring":[22],"such":[23],"a":[24,73,89,109,128,142,181,186],"CI/CD":[25],"pipeline":[26,75,100],"is":[27],"challenging":[28],"error-prone.":[30],"Therefore,":[31],"automated":[32],"linters":[33,45],"have":[34,104],"been":[35],"proposed":[36],"detect":[38,49],"errors":[39],"in":[40,99,122,196],"the":[41,55,136,150,153,175,197],"pipeline.":[42],"While":[43],"existing":[44],"identify":[46,95],"syntactic":[47],"errors,":[48],"security":[50],"vulnerabilities":[51],"or":[52],"misuse":[53],"features":[56],"provided":[57],"by":[58,172,208],"build":[59],"servers,":[60],"they":[61],"do":[62],"not":[63],"support":[64],"developers":[65,176],"that":[66,76,92,114,165],"want":[67],"prevent":[69],"common":[70],"misconfigurations":[71],"CD":[74,79,166],"potentially":[77],"violate":[78],"(\u201cCD":[81],"smells\u201d).":[82],"To":[83],"this":[84],"end,":[85],"we":[86],"propose":[87],"CD-Linter,":[88],"semantic":[90],"linter":[91,179],"can":[93,192],"automatically":[94],"four":[96],"different":[97],"smells":[98,155,167,191],"configuration":[101],"files.":[102],"We":[103],"evaluated":[105],"our":[106,178],"approach":[107],"through":[108],"large-scale":[110],"long-term":[112],"study":[113],"consists":[115],"(i)":[117],"monitoring":[118],"145":[119],"issues":[120],"(opened":[121],"as":[123,199],"many":[124],"open-source":[125,158],"projects)":[126],"over":[127],"period":[129],"6":[131],"months,":[132],"(ii)":[133],"manually":[134],"validating":[135],"detection":[137],"precision":[138,182],"recall":[140,187],"on":[141,156,160],"representative":[143],"sample":[144],"issues,":[146],"(iii)":[148],"assessing":[149],"magnitude":[151],"observed":[154,195],"5,312":[157],"GitLab.":[161],"Our":[162],"results":[163],"show":[164],"are":[168,206],"accepted":[169],"fixed":[171],"most":[173],"achieves":[180],"87%":[184],"94%.":[189],"Those":[190],"be":[193],"frequently":[194],"wild,":[198],"31%":[200],"with":[203],"long":[204],"configurations":[205],"affected":[207],"at":[209],"least":[210],"one":[211],"smell.":[212]},"counts_by_year":[{"year":2026,"cited_by_count":3},{"year":2025,"cited_by_count":10},{"year":2024,"cited_by_count":9},{"year":2023,"cited_by_count":6},{"year":2022,"cited_by_count":5},{"year":2021,"cited_by_count":5}],"updated_date":"2026-04-23T09:07:50.710637","created_date":"2025-10-10T00:00:00"}
