Refactorings and Technical Debt in Docker Projects: An Empirical Study
Emna Ksontini, Marouane Kessentini, Thiago do Nascimento Ferreira, Foyzul Hassan
Abstract
Software containers, such as Docker, are recently considered as the mainstream technology of providing reusable software artifacts. Developers can easily build and deploy their applications based on the large number of reusable Docker images that are publicly available. Thus, a current popular trend in industry is to move towards the containerization of their applications. However, container-based projects compromise different components including the Docker and Docker-compose files, and several other dependencies to the source code combining different containers and facilitating the interactions with them. Similar to any other complex systems, container-based projects are prone to various quality and technical debt issues related to different artifacts: Docker and Docker-compose files, and regular source code ones. Unfortunately, there is a gap of knowledge in how container-based projects actually evolve and are maintained.In this paper, we address the above gap by studying refactorings, i.e., structural changes while preserving the behavior, applied in open-source Docker projects, and the technical debt issues they alleviate. We analyzed 68 projects, consisting of 19,5 MLOC, along with 193 manually examined commits. The results indicate that developers refactor these Docker projects for a variety of reasons that are specific to the configuration, combination and execution of containers, leading to several new technical debt categories and refactoring types compared to existing refactoring domains. For instance, refactorings for reducing the image size of Dockerfiles, improving the extensibility of Docker-compose files, and regular source code refactorings are mainly associated with the evolution of Docker and Docker-compose files. We also introduced 24 new Docker-specific refactorings and technical debt categories, respectively, and defined different best practices. The implications of this study will assist practitioners, tool builders, and educators in improving the quality of Docker projects.
Ask about this paper
Ask your agent about it.
Lune has read the top-tier papers around this one, so every answer names the papers it rests on.
Your agent calls
Lunesearch_papers
Free to start. No credit card required.
Terminal
Install the CLIlune papers get 43d1e703-d0a4-48b4-a7cb-a4a696335738Cited by top-tier papers2
- Empirical Study of the Docker Smells Impact on the Image SizeThomas DurieuxICSE 2024 · 11 citations
- On Prescription or Off Prescription? An Empirical Study of Community-Prescribed Security Configurations for KubernetesShazibul Islam Shamim, Hanyang Hu, Akond RahmanICSE 2025 · 4 citations
Related papers
- An Empirical Study of Refactorings and Technical Debt in Machine Learning SystemsYiming Tang, Raffi Khatchadourian, Mehdi Bagherzadeh, Rhia Singh et al.ICSE 2021 · 60 citations
- Automating Dockerfile Refactoring to Multi-stage BuildsDongjin Chen, Wenhua Yang, Minxue Pan, Yu ZhouFSE 2026
- 23 shades of self-admitted technical debt: an empirical study on machine learning softwareDavid O'Brien, Sumon Biswas, Sayem Imtiaz, Rabe Abdalkareem et al.FSE 2022 · 37 citations
- Understanding Architectural Complexity, Maintenance Burden, and Developer Sentiment -A Large-Scale StudyYuanfang Cai, Lanting He, Jun Qian, Yony Kochinski et al.ICSE 2025 · 1 citation
- Towards Understanding Docker Build Faults in Practice: Symptoms, Root Causes, and Fix PatternsYiwen Wu, Yang Zhang, Tao Wang, Bo Ding et al.FSE 2025 · 4 citations
