Write a Blog >>
ASE 2021
Sun 14 - Sat 20 November 2021 Australia
Thu 18 Nov 2021 12:20 - 12:40 at Kangaroo - Debt and Refactoring Chair(s): Yuan Tian

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 that is 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, by 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.

Thu 18 Nov

Displayed time zone: Hobart change

12:00 - 13:00
Debt and RefactoringTool Demonstrations / Research Papers at Kangaroo
Chair(s): Yuan Tian Queens University, Kingston, Canada
12:00
20m
Talk
Intelligent Change Operators for Multi-Objective Refactoring
Research Papers
Chaima Abid University of Michigan, James Ivers Carnegie Mellon University, USA, Thiago Ferreira University of Michigan - Flint, Marouane Kessentini University of Michigan - Dearborn, Fares El Kahla University of Michigan, Ipek Ozkaya Carnegie Mellon Software Engineering Institute
12:20
20m
Talk
Refactorings and Technical Debt in Docker Projects: An Empirical Study
Research Papers
Emna Ksontini University of Michigan - Dearborn, Marouane Kessentini University of Michigan - Dearborn, Thiago Ferreira University of Michigan - Flint, Foyzul Hassan University of Michigan - Dearborn
12:40
5m
Talk
FixMe: A GitHub Bot for Detecting and Monitoring On-hold Self-Admitted Technical Debt
Tool Demonstrations
Saranphon Phaithoon Mahidol University, Supakarn Wongnil Mahidol University, Patiphol Pussawong Mahidol University, Morakot Choetkiertikul Mahidol University, Thailand, Chaiyong Rakhitwetsagul Mahidol University, Thailand, Thanwadee Sunetnanta Mahidol University, Rungroj Maipradit Nara Institute of Science and Technology, Hideaki Hata Shinshu University, Kenichi Matsumoto Nara Institute of Science and Technology
Link to publication DOI Pre-print Media Attached
12:50
5m
Talk
Automated Code Refactoring upon Database-Schema Changes in Web Applications
Tool Demonstrations
Sophie Xie Whitney Young High School, Junwen Yang University of Chicago, Shan Lu University of Chicago