{"id":"https://openalex.org/W4292719293","doi":"https://doi.org/10.48550/arxiv.2208.09097","title":"Fixing Dockerfile Smells: An Empirical Study","display_name":"Fixing Dockerfile Smells: An Empirical Study","publication_year":2022,"publication_date":"2022-08-19","ids":{"openalex":"https://openalex.org/W4292719293","doi":"https://doi.org/10.48550/arxiv.2208.09097"},"language":"en","primary_location":{"id":"pmh:oai:arXiv.org:2208.09097","is_oa":true,"landing_page_url":"http://arxiv.org/abs/2208.09097","pdf_url":"https://arxiv.org/pdf/2208.09097","source":{"id":"https://openalex.org/S4306400194","display_name":"arXiv (Cornell University)","issn_l":null,"issn":null,"is_oa":true,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I205783295","host_organization_name":"Cornell University","host_organization_lineage":["https://openalex.org/I205783295"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"","raw_type":"text"},"type":"preprint","indexed_in":["arxiv","datacite"],"open_access":{"is_oa":true,"oa_status":"green","oa_url":"https://arxiv.org/pdf/2208.09097","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5101499242","display_name":"Giovanni Rosa","orcid":"https://orcid.org/0000-0002-5241-1608"},"institutions":[],"countries":[],"is_corresponding":true,"raw_author_name":"Rosa, Giovanni","raw_affiliation_strings":[],"affiliations":[]},{"author_position":"middle","author":{"id":"https://openalex.org/A5079406478","display_name":"Simone Scalabrino","orcid":"https://orcid.org/0000-0003-1764-9685"},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Scalabrino, Simone","raw_affiliation_strings":[],"affiliations":[]},{"author_position":"last","author":{"id":"https://openalex.org/A5009727039","display_name":"Rocco Oliveto","orcid":"https://orcid.org/0000-0002-7995-8582"},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Oliveto, Rocco","raw_affiliation_strings":[],"affiliations":[]}],"institutions":[],"countries_distinct_count":0,"institutions_distinct_count":3,"corresponding_author_ids":["https://openalex.org/A5101499242"],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":null,"has_fulltext":false,"cited_by_count":1,"citation_normalized_percentile":null,"cited_by_percentile_year":null,"biblio":{"volume":null,"issue":null,"first_page":null,"last_page":null},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10260","display_name":"Software Engineering Research","score":0.9930999875068665,"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":0.9930999875068665,"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/T11986","display_name":"Scientific Computing and Data Management","score":0.9915000200271606,"subfield":{"id":"https://openalex.org/subfields/1802","display_name":"Information Systems and Management"},"field":{"id":"https://openalex.org/fields/18","display_name":"Decision Sciences"},"domain":{"id":"https://openalex.org/domains/2","display_name":"Social Sciences"}},{"id":"https://openalex.org/T12127","display_name":"Software System Performance and Reliability","score":0.9904999732971191,"subfield":{"id":"https://openalex.org/subfields/1705","display_name":"Computer Networks and Communications"},"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/devops","display_name":"DevOps","score":0.7652745246887207},{"id":"https://openalex.org/keywords/workflow","display_name":"Workflow","score":0.6790438294410706},{"id":"https://openalex.org/keywords/code-smell","display_name":"Code smell","score":0.6472309827804565},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.6079546213150024},{"id":"https://openalex.org/keywords/survivability","display_name":"Survivability","score":0.5603177547454834},{"id":"https://openalex.org/keywords/user-story","display_name":"User story","score":0.45589521527290344},{"id":"https://openalex.org/keywords/exploratory-research","display_name":"Exploratory research","score":0.43067342042922974},{"id":"https://openalex.org/keywords/world-wide-web","display_name":"World Wide Web","score":0.3757789731025696},{"id":"https://openalex.org/keywords/software-engineering","display_name":"Software engineering","score":0.35988402366638184},{"id":"https://openalex.org/keywords/data-science","display_name":"Data science","score":0.35076597332954407},{"id":"https://openalex.org/keywords/software-development","display_name":"Software development","score":0.2259942889213562},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.20082908868789673},{"id":"https://openalex.org/keywords/software-deployment","display_name":"Software deployment","score":0.192746102809906},{"id":"https://openalex.org/keywords/software-quality","display_name":"Software quality","score":0.184120774269104},{"id":"https://openalex.org/keywords/database","display_name":"Database","score":0.11942097544670105}],"concepts":[{"id":"https://openalex.org/C9903902","wikidata":"https://www.wikidata.org/wiki/Q3025536","display_name":"DevOps","level":3,"score":0.7652745246887207},{"id":"https://openalex.org/C177212765","wikidata":"https://www.wikidata.org/wiki/Q627335","display_name":"Workflow","level":2,"score":0.6790438294410706},{"id":"https://openalex.org/C133237599","wikidata":"https://www.wikidata.org/wiki/Q2295111","display_name":"Code smell","level":5,"score":0.6472309827804565},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.6079546213150024},{"id":"https://openalex.org/C2781133158","wikidata":"https://www.wikidata.org/wiki/Q1088669","display_name":"Survivability","level":2,"score":0.5603177547454834},{"id":"https://openalex.org/C11189718","wikidata":"https://www.wikidata.org/wiki/Q218152","display_name":"User story","level":4,"score":0.45589521527290344},{"id":"https://openalex.org/C85973986","wikidata":"https://www.wikidata.org/wiki/Q1091731","display_name":"Exploratory research","level":2,"score":0.43067342042922974},{"id":"https://openalex.org/C136764020","wikidata":"https://www.wikidata.org/wiki/Q466","display_name":"World Wide Web","level":1,"score":0.3757789731025696},{"id":"https://openalex.org/C115903868","wikidata":"https://www.wikidata.org/wiki/Q80993","display_name":"Software engineering","level":1,"score":0.35988402366638184},{"id":"https://openalex.org/C2522767166","wikidata":"https://www.wikidata.org/wiki/Q2374463","display_name":"Data science","level":1,"score":0.35076597332954407},{"id":"https://openalex.org/C529173508","wikidata":"https://www.wikidata.org/wiki/Q638608","display_name":"Software development","level":3,"score":0.2259942889213562},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.20082908868789673},{"id":"https://openalex.org/C105339364","wikidata":"https://www.wikidata.org/wiki/Q2297740","display_name":"Software deployment","level":2,"score":0.192746102809906},{"id":"https://openalex.org/C117447612","wikidata":"https://www.wikidata.org/wiki/Q1412670","display_name":"Software quality","level":4,"score":0.184120774269104},{"id":"https://openalex.org/C77088390","wikidata":"https://www.wikidata.org/wiki/Q8513","display_name":"Database","level":1,"score":0.11942097544670105},{"id":"https://openalex.org/C144024400","wikidata":"https://www.wikidata.org/wiki/Q21201","display_name":"Sociology","level":0,"score":0.0},{"id":"https://openalex.org/C31258907","wikidata":"https://www.wikidata.org/wiki/Q1301371","display_name":"Computer network","level":1,"score":0.0},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.0},{"id":"https://openalex.org/C19165224","wikidata":"https://www.wikidata.org/wiki/Q23404","display_name":"Anthropology","level":1,"score":0.0}],"mesh":[],"locations_count":2,"locations":[{"id":"pmh:oai:arXiv.org:2208.09097","is_oa":true,"landing_page_url":"http://arxiv.org/abs/2208.09097","pdf_url":"https://arxiv.org/pdf/2208.09097","source":{"id":"https://openalex.org/S4306400194","display_name":"arXiv (Cornell University)","issn_l":null,"issn":null,"is_oa":true,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I205783295","host_organization_name":"Cornell University","host_organization_lineage":["https://openalex.org/I205783295"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"","raw_type":"text"},{"id":"doi:10.48550/arxiv.2208.09097","is_oa":true,"landing_page_url":"https://doi.org/10.48550/arxiv.2208.09097","pdf_url":null,"source":{"id":"https://openalex.org/S4306400194","display_name":"arXiv (Cornell University)","issn_l":null,"issn":null,"is_oa":true,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I205783295","host_organization_name":"Cornell University","host_organization_lineage":["https://openalex.org/I205783295"],"host_organization_lineage_names":[],"type":"repository"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":null,"is_accepted":false,"is_published":null,"raw_source_name":null,"raw_type":"article"}],"best_oa_location":{"id":"pmh:oai:arXiv.org:2208.09097","is_oa":true,"landing_page_url":"http://arxiv.org/abs/2208.09097","pdf_url":"https://arxiv.org/pdf/2208.09097","source":{"id":"https://openalex.org/S4306400194","display_name":"arXiv (Cornell University)","issn_l":null,"issn":null,"is_oa":true,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I205783295","host_organization_name":"Cornell University","host_organization_lineage":["https://openalex.org/I205783295"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"","raw_type":"text"},"sustainable_development_goals":[{"display_name":"Industry, innovation and infrastructure","id":"https://metadata.un.org/sdg/9","score":0.5400000214576721}],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":0,"referenced_works":[],"related_works":["https://openalex.org/W4220665054","https://openalex.org/W3154253302","https://openalex.org/W3111012486","https://openalex.org/W3101146292","https://openalex.org/W4287554096","https://openalex.org/W4282831387","https://openalex.org/W3113480566","https://openalex.org/W4388640518","https://openalex.org/W2896734757","https://openalex.org/W2187649616"],"abstract_inverted_index":{"Background.":[0],"Containerization":[1],"technologies":[2],"are":[3,35,76,143,160],"widely":[4,77],"adopted":[5],"in":[6,90,116,147],"the":[7,28,44,62,65,117,148,185,189,194,222,249,252,284],"DevOps":[8],"workflow.":[9],"The":[10,121],"most":[11],"commonly":[12],"used":[13,30],"one":[14],"is":[15,81,95,127],"Docker,":[16],"which":[17,217],"requires":[18],"developers":[19,45,89,104,109,159,240],"to":[20,26,106,113,132,156,162,176,237,273,286],"define":[21],"a":[22,82,200,211,231,261,270],"specification":[23],"file":[24],"(Dockerfile)":[25],"build":[27],"image":[29],"for":[31,40,215],"creating":[32],"containers.":[33],"There":[34],"several":[36],"best":[37],"practice":[38],"rules":[39],"writing":[41],"Dockerfiles,":[42,225],"but":[43],"do":[46],"not":[47],"always":[48],"follow":[49],"them.":[50,92,182,276],"Violations":[51],"of":[52,67,84,123,150,188,196,204,224,234,248,263],"such":[53,235],"practices,":[54],"known":[55],"as":[56],"Dockerfile":[57,74,99,168,197,218],"smells,":[58],"can":[59],"negatively":[60],"impact":[61],"reliability":[63],"and":[64,79,105,226,243,266,288,292],"performance":[66],"Docker":[68],"images.":[69],"Previous":[70],"studies":[71],"showed":[72],"that":[73,87],"smells":[75,100,115,136,169,198,219],"diffused,":[78],"there":[80],"lack":[83],"automatic":[85],"tools":[86],"support":[88],"fixing":[91,167],"However,":[93],"it":[94],"still":[96],"unclear":[97],"what":[98,107,134],"get":[101],"fixed":[102,144,241],"by":[103,172],"extent":[108],"would":[110],"be":[111],"willing":[112,161],"fix":[114,275],"first":[118,186],"place.":[119],"Objective.":[120],"aim":[122],"our":[124],"exploratory":[125],"study":[126],"twofold.":[128],"First,":[129],"we":[130,154,191,227,255,267,278,289],"want":[131,155],"understand":[133,177,238],"Dockerfiles":[135,259],"receive":[137],"more":[138,145],"attention":[139],"from":[140],"developers,":[141,287],"i.e.,":[142],"frequently":[146],"history":[149],"open-source":[151],"projects.":[152],"Second,":[153],"check":[157],"if":[158,178,239,244],"accept":[163],"changes":[164],"aimed":[165],"at":[166],"(e.g.,":[170],"generated":[171],"an":[173],"automated":[174],"tool),":[175],"they":[179,245],"care":[180],"about":[181],"Method.":[183],"In":[184,251],"part":[187],"study,":[190],"will":[192,228,256,268,279,290],"evaluate":[193,294],"survivability":[195],"on":[199,210,260],"state-of-the-art":[201,212],"dataset":[202],"composed":[203],"9.4M":[205],"unique":[206],"Dockerfiles.":[207],"We":[208],"rely":[209],"tool":[213,272],"(hadolint)":[214],"detecting":[216],"disappear":[220],"during":[221],"evolution":[223],"manually":[229],"analyze":[230],"large":[232],"sample":[233],"cases":[236],"them":[242],"were":[246],"aware":[247],"smell.":[250],"second":[253],"part,":[254],"detect":[257],"smelly":[258],"set":[262],"GitHub":[264],"projects,":[265],"use":[269],"rule-based":[271],"automatically":[274],"Finally,":[277],"open":[280],"pull":[281],"requests":[282],"proposing":[283],"modifications":[285],"quantitatively":[291],"qualitatively":[293],"their":[295],"outcome.":[296]},"counts_by_year":[{"year":2023,"cited_by_count":1}],"updated_date":"2026-02-09T09:26:11.010843","created_date":"2025-10-10T00:00:00"}
