,
Márcio Ribeiro
,
Valeria Pontillo
,
Luana Martins
,
Fabio Palomba
,
Baldoino Fonseca
,
Rohit Gheyi
,
Ivan Machado
Creative Commons Attribution 4.0 International license
Background. Infrastructure-as-Code (IaC) has become a standard in software deployment, with Dockerfiles among its most prevalent formats. However, Dockerfiles often exhibit Dockerfile smells, violations of best practices that can harm reproducibility, build time, image size, and security. Although prior work has proposed detectors, fixes, and refactoring catalogs, existing knowledge remains mostly descriptive or illustrative, lacking explicit transformation rules with source and target structures, and applicability conditions intended to support behavior-preserving application. Aims. This work aims to provide a catalog of formalized transformation rules for removing Dockerfile smells and to evaluate how practitioners perceive the resulting Dockerfile. Method. We formalized rules for a set of ten Dockerfile transformations and conducted a mixed-method empirical study with 59 participants: 39 survey respondents and 20 interviewees from industry and academia with varied levels of Docker experience. Results. Participants generally preferred the resulting Dockerfiles, which achieved an overall mean acceptance rate of 76%. Nine rules were accepted by a majority of participants, with the highest acceptance rate reaching 95%. Participants favored transformations that improved stability, security, and build time, but were less favorable toward transformations that reduced readability or made debugging harder. Conclusions. Our findings suggest that formalized Dockerfile transformations are a promising basis for refactoring support, but their adoption depends on balancing technical quality improvements with developers’ practical expectations.
@InProceedings{barros_et_al:LIPIcs.ESEM.2026.39,
author = {Barros, Eduardo and Ribeiro, M\'{a}rcio and Pontillo, Valeria and Martins, Luana and Palomba, Fabio and Fonseca, Baldoino and Gheyi, Rohit and Machado, Ivan},
title = {{A Catalog of Transformations to Remove Dockerfile Smells}},
booktitle = {20th International Symposium on Empirical Software Engineering and Measurement (ESEM 2026)},
pages = {39:1--39:20},
series = {Leibniz International Proceedings in Informatics (LIPIcs)},
ISBN = {978-3-95977-450-5},
ISSN = {1868-8969},
year = {2026},
volume = {394},
editor = {Feldt, Robert and Paasivaara, Maria and Mendez, Daniel and Wagner, Stefan and Bar\'{o}n, Marvin Mu\~{n}oz},
publisher = {Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
address = {Dagstuhl, Germany},
URL = {https://drops.dagstuhl.de/entities/document/10.4230/LIPIcs.ESEM.2026.39},
URN = {urn:nbn:de:0030-drops-280070},
doi = {10.4230/LIPIcs.ESEM.2026.39},
annote = {Keywords: Docker, Dockerfile, Refactoring, Catalog, Transformation, Quality}
}