SlideShare a Scribd company logo
1 of 32
Download to read offline
Fixing Dockerfile Smells:
An Empirical Study
Giovanni Rosa, Simone Scalabrino and Rocco Oliveto
University of Molise, Italy
ICSME ’22 Registered Reports - Oct 6th 2022
Limassol, Cyprus
Containerization, how it works?
Build Ship Run
Software containers
Containers in production environments
2020 2023 2025
85%
of organizations
will adopt
containers
Why Docker?
#1 Most-Wanted
and
#1 Most Loved
tool
Docker in a nutshell
Dockerfile Image Container
Registry
“hub”
push
pull
run
build
base image
Docker in a nutshell
Dockerfile Image Container
Registry
“hub”
push
pull
run
build
base image
Docker in a nutshell
Dockerfile Image Container
Registry
“hub”
push
pull
run
build
base image
Docker in a nutshell
Dockerfile Image Container
Registry
“hub”
push
pull
run
build
base image
Docker in a nutshell
Dockerfile Image Container
Registry
“hub”
push
pull
run
build
base image
How to measure Dockerfile quality?
I’M
FLAWLESS!
Haskell
Dockerfile Linter
How to measure Dockerfile quality?
Dockerfile smells
Smells in Dockerfiles
Smells can negatively affect Docker images
Image size
Build
reliability
Security
vulnerabilities
84%
of 70000 Dockerfiles
contain smells
2017
Cito et. al
“Version pinning smell
is the biggest quality issue
[…]
there is a declining trend of
Dockerfile smells”
Eng et. al 2021
It is not clear what smells are
relevant and need to be fixed
Lack of advanced supporting
tools for developers
It is not clear what smells are
relevant and need to be fixed
Empirical
Study
Smell survivability
Empirical
Study
Smell survivability
Fix
recommendations
Empirical
Study
How do developers fix
Dockerfile smells?
RQ 1
RQ1
9.4M
unique Dockerfiles
from 2013 to 2020
Dockerfile
snapshots
over time
Smell
survivability
RQ1
Extraction of
smell-fixing
commits
Dockerfile
snapshots
over time
RQ1
Extraction of
smell-fixing
commits
Dockerfile
snapshots
over time
Manual
validation
(1000 commits)
Manual validation
smelly not smelly
smelly not smelly
Extraction of
smell-fixing
commits
Dockerfile
snapshots
over time
Manual
validation
(1000 commits)
Smell
survivability
RQ1
Which Dockerfile
smells are developers
willing to address?
RQ 2
Eng et. al 2021
8+
smells
RQ2
11.5M
commits
Most frequent
and fixed smells
hadolint wiki
RQ2
Most frequent
and fixed smells
Rule-based
Refactoring tool
RQ2
Most frequent
and fixed smells
Rule-based
Refactoring tool
Refactoring
recommendations
Responses from
developers
Not Accepted Accepted
Pending
Response status
RQ2
Most frequent
and fixed smells
Rule-based
Refactoring tool
Refactoring
recommendations
Responses from
developers
Evaluation
Giovanni Rosa
University of Molise, Italy
giovanni.rosa@unimol.it
Summary

More Related Content

What's hot

Pair Programming Presentation
Pair Programming PresentationPair Programming Presentation
Pair Programming Presentation
ThoughtWorks
 

What's hot (20)

Getting Started with DevOps
Getting Started with DevOpsGetting Started with DevOps
Getting Started with DevOps
 
Trunk based development
Trunk based developmentTrunk based development
Trunk based development
 
Contributing to Open Source - A Beginners Guide
Contributing to Open Source - A Beginners GuideContributing to Open Source - A Beginners Guide
Contributing to Open Source - A Beginners Guide
 
DNS: EdgeCast Route - Technical DNS Service Overview
DNS: EdgeCast Route - Technical DNS Service Overview DNS: EdgeCast Route - Technical DNS Service Overview
DNS: EdgeCast Route - Technical DNS Service Overview
 
Linux automated tasks
Linux automated tasksLinux automated tasks
Linux automated tasks
 
Shell Scripting in Linux
Shell Scripting in LinuxShell Scripting in Linux
Shell Scripting in Linux
 
Pair Programming Presentation
Pair Programming PresentationPair Programming Presentation
Pair Programming Presentation
 
C# conventions & good practices
C# conventions & good practicesC# conventions & good practices
C# conventions & good practices
 
F strings
F stringsF strings
F strings
 
Python | What is Python | History of Python | Python Tutorial
Python | What is Python | History of Python | Python TutorialPython | What is Python | History of Python | Python Tutorial
Python | What is Python | History of Python | Python Tutorial
 
Python Exception Handling
Python Exception HandlingPython Exception Handling
Python Exception Handling
 
Clean Code 閱讀心得
Clean Code 閱讀心得Clean Code 閱讀心得
Clean Code 閱讀心得
 
Python Advanced – Building on the foundation
Python Advanced – Building on the foundationPython Advanced – Building on the foundation
Python Advanced – Building on the foundation
 
Jenkins - From Continuous Integration to Continuous Delivery
Jenkins - From Continuous Integration to Continuous DeliveryJenkins - From Continuous Integration to Continuous Delivery
Jenkins - From Continuous Integration to Continuous Delivery
 
App armor structure
App armor structureApp armor structure
App armor structure
 
Unix- the process
Unix-  the processUnix-  the process
Unix- the process
 
Building Sustainable Design Systems
Building Sustainable Design SystemsBuilding Sustainable Design Systems
Building Sustainable Design Systems
 
Introduction 2 linux
Introduction 2 linuxIntroduction 2 linux
Introduction 2 linux
 
2019/7/27 先別開 Branch 了,你聽過 Feature Toggle 嗎?
2019/7/27 先別開 Branch 了,你聽過 Feature Toggle 嗎?2019/7/27 先別開 Branch 了,你聽過 Feature Toggle 嗎?
2019/7/27 先別開 Branch 了,你聽過 Feature Toggle 嗎?
 
Vi Editor
Vi EditorVi Editor
Vi Editor
 

Similar to Fixing Dockerfile Smells: An Empirical Study (ICSME 2022)

Assessing and Improving the Quality of Docker Artifacts (ICSME 2022)
Assessing and Improving the Quality of Docker Artifacts (ICSME 2022)Assessing and Improving the Quality of Docker Artifacts (ICSME 2022)
Assessing and Improving the Quality of Docker Artifacts (ICSME 2022)
Giovanni Rosa
 
What Quality Aspects Influence the Adoption of Docker Images?
What Quality Aspects Influence the Adoption of Docker Images?What Quality Aspects Influence the Adoption of Docker Images?
What Quality Aspects Influence the Adoption of Docker Images?
Giovanni Rosa
 

Similar to Fixing Dockerfile Smells: An Empirical Study (ICSME 2022) (20)

Assessing and Improving the Quality of Docker Artifacts (ICSME 2022)
Assessing and Improving the Quality of Docker Artifacts (ICSME 2022)Assessing and Improving the Quality of Docker Artifacts (ICSME 2022)
Assessing and Improving the Quality of Docker Artifacts (ICSME 2022)
 
What Quality Aspects Influence the Adoption of Docker Images?
What Quality Aspects Influence the Adoption of Docker Images?What Quality Aspects Influence the Adoption of Docker Images?
What Quality Aspects Influence the Adoption of Docker Images?
 
StackEngine Problem Space Demo
StackEngine Problem Space DemoStackEngine Problem Space Demo
StackEngine Problem Space Demo
 
StackEngine Demo - Boston
StackEngine Demo - BostonStackEngine Demo - Boston
StackEngine Demo - Boston
 
Docker Enables DevOps - Boston
Docker Enables DevOps - BostonDocker Enables DevOps - Boston
Docker Enables DevOps - Boston
 
Common primitives in Docker environments
Common primitives in Docker environmentsCommon primitives in Docker environments
Common primitives in Docker environments
 
Docker_Interview_Questions__Answers.pdf
Docker_Interview_Questions__Answers.pdfDocker_Interview_Questions__Answers.pdf
Docker_Interview_Questions__Answers.pdf
 
Getting started with docker
Getting started with dockerGetting started with docker
Getting started with docker
 
Docker
DockerDocker
Docker
 
DockerCon SF 2015: Keynote Day 1
DockerCon SF 2015: Keynote Day 1DockerCon SF 2015: Keynote Day 1
DockerCon SF 2015: Keynote Day 1
 
Using Docker and Elastic Beanstalk in Production
Using Docker and Elastic Beanstalk in ProductionUsing Docker and Elastic Beanstalk in Production
Using Docker and Elastic Beanstalk in Production
 
What is Docker & Why is it Getting Popular?
What is Docker & Why is it Getting Popular?What is Docker & Why is it Getting Popular?
What is Docker & Why is it Getting Popular?
 
StackEngine Problem Space Demo
StackEngine Problem Space DemoStackEngine Problem Space Demo
StackEngine Problem Space Demo
 
Docker talk unicom DevOps summit London
Docker talk unicom DevOps summit LondonDocker talk unicom DevOps summit London
Docker talk unicom DevOps summit London
 
Ignite 2016 - Docker Overview
Ignite 2016 - Docker OverviewIgnite 2016 - Docker Overview
Ignite 2016 - Docker Overview
 
Boycott Docker
Boycott DockerBoycott Docker
Boycott Docker
 
Docker, Cloud Foundry, Bosh & Bluemix
Docker, Cloud Foundry, Bosh & BluemixDocker, Cloud Foundry, Bosh & Bluemix
Docker, Cloud Foundry, Bosh & Bluemix
 
Dockerizing development workflow
Dockerizing development workflowDockerizing development workflow
Dockerizing development workflow
 
Docker: do's and don'ts
Docker: do's and don'tsDocker: do's and don'ts
Docker: do's and don'ts
 
How to Dockerize Angular, Vue and React Web Apps
How to Dockerize Angular, Vue and React Web AppsHow to Dockerize Angular, Vue and React Web Apps
How to Dockerize Angular, Vue and React Web Apps
 

Recently uploaded

%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
masabamasaba
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
VishalKumarJha10
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
masabamasaba
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
masabamasaba
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
shinachiaurasa2
 

Recently uploaded (20)

Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdfThe Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 

Fixing Dockerfile Smells: An Empirical Study (ICSME 2022)