Abstract

Dockerfile plays an important role in the Docker-based software development process, but many Dockerfile codes are infected with smells in practice. Understanding the occurrence of Dockerfile smells in open-source software can benefit the practice of Dockerfile and enhance project maintenance. In this paper, we perform an empirical study on a large dataset of 6,334 projects to help developers gain some insights into the occurrence of Dockerfile smells, including its coverage, distribution, co-occurrence, and correlation with project characteristics. Our results show that smells are very common in Dockerfile codes and there exists co-occurrence between different types of Dockerfile smells. Further, using linear regression analysis, when controlled for various variables, we statistically identify and quantify the relationships between Dockerfile smells occurrence and project characteristics. We also provide a rich resource of implications for software practitioners.

Highlights

  • We present an empirical study of the occurrence of Dockerfile smells in a large-scale dataset of GitHub projects, to help developers gain insights into the Dockerfile smells, including its coverage, distribution, cooccurrence, and the correlation with project characteristics

  • RQ1: HOW MANY PROJECTS HAVE SMELLS IN THEIR DOCKERFILE CODE? 1) BASIC SMELLS COVERAGE Figure 3 presents the distribution of projects w/wo Dockerfile smells, we find that 5,309 (83.8%) of 6,334 studied projects have at least one smell in their Dockerfile code, only 1,025 (16.2%) projects are ‘‘healthy’’

  • We find that, Dockerfile smells are very common in GitHub projects, especially those smells that violate Dockerfile best practices, i.e., DL-smells

Read more

Summary

Introduction

Docker allows packaging an application with its dependencies and execution environment into a standardized, self-contained unit, which can be used for software development and to run the application on any system [2]. Code smells [5] indicate the presence of quality problems in a software project. Such guideline covers the recommended best practices and methods, it is still challenging for developers to fully follow the recommended rules due to lack of awareness and attention. Y. Wu et al.: Characterizing the Occurrence of Dockerfile Smells in Open-Source Software: Empirical Study have not been extensively explored yet. Better understanding the occurrence of Dockerfile smells can shed light on the current compliance and correctness of Dockerfile configuration in OSS projects, thereby fostering the awareness and attention of developers and informing the development of enhanced Dockerfile configuration guidelines

Objectives
Methods
Results
Discussion
Conclusion
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call