arrow
返回

Fixing Dockerfile smells: an empirical study

delete2024-07-06
delete1
delete
OA
AI
G
Giovanni Rosa *
F
Federico Zappone
S
Simone Scalabrino
R
Rocco Oliveto
DOI:10.1007/s10664-024-10471-7delete
delete原文链接
delete原文求助
delete分享
delete收藏
摘要

摘要

En 中文
Docker is the de facto standard for software containerization. A Dockerfile contains the requirements to build a Docker image containing a target application. There are several best practice rules for writing Dockerfiles, but the developers do not always follow them. Violations of such practices, known as Dockerfile smells, can negatively impact the reliability and performance of Docker images. Previous studies showed that Dockerfile smells are widely diffused, and there is a lack of automatic tools that support developers in fixing them. However, it is still unclear what Dockerfile smells get fixed by developers and to what extent developers would be willing to fix smells in the first place. The aim of our study is twofold. First, we want to understand what Dockerfiles smells receive more attention from developers, i.e., are fixed more frequently in the history of open-source projects. Second, we want to check if developers are willing to accept changes aimed at fixing Dockerfile smells (e.g., generated by an automated tool), to understand if they care about them. We evaluated the survivability of Dockerfile smells from a total of 53,456 unique Dockerfiles, where we manually validated a large sample of smell-removing commits to understand (i) if developers performed the change with the intention of removing bad practices, and (ii) if they were aware of the removed smell. In the second part, we used a rule-based tool to automatically fix Dockerfile smells. Then, we proposed such fixes to developers via pull requests. Finally, we quantitatively and qualitatively evaluated the outcome after a monitoring period of more than 7 months. The results of our study showed that most developers pay more attention to changes aimed at improving the performance of Dockerfiles (image size and build time). Moreover, they are willing to accept the fixes for the most common smells, with some exceptions (e.g., missing version pinning for OS packages).
Keyword:
Dockerfile smells
Empirical software engineering
Software evolution

期刊

Empirical Software Engineering 封面图
Empirical Software Engineering
IF:
3.6
论文数:
2.0K
被引数:
5.3K

机构

U
University of Molise
学者数:
2.6K
论文数: 2.6K
被引数: 2.8K
引用论文

引用论文

?-1,4-Glucosidase activity in infertile oligoasthenozoospermic men with and without varicocele
err2007-02-01
err0
errOAAI
errM. M. F. Roaiah; T. Mostafa; D. Salem; A. R. El-Nashar; I. I. Kamel; M. S. El-Kashlan
err分享
err收藏
err分享
err收藏
Decision Tree for Laparoscopic Partial Nephrectomy Versus Laparoscopic Renal Cryoablation for Small Renal Masses
err2009-03-01
err0
PREAI
errAlan A. Nisbet; Jocelyn M. Rieder; Viet Q. Tran; Stephen G. Williams; Gary W. Chien
err分享
err收藏
err分享
err收藏
学者 查看更多内容