Anonymous Author(s)
Table of Contents
Software containerization using Docker has recently become the de facto standard for delivering reusable software artifacts. Integral to Docker's functionality are Dockerfiles, which serve as scripts that define the layers and components to be incorporated within a container. Although these files serve as the bedrock of container creation, their maintenance presents intricate challenges. Specifically, the task of Dockerfile refactoring is compounded by its inherent complexity. Although the importance of refactoring inside Docker ecosystems is apparent, detecting it remains challenging. Developers usually avoid documenting their refactoring efforts, often combining them with other changes.
While previous research works have delved into Docker refactoring, the predominant focus has been on empirical foundations, resulting in a constrained and narrow viewpoint. Despite all endeavors, there remains a clear gap for an exhaustive tool that can adeptly navigate the complexities of Dockerfile refactoring detection. To fill this gap, we introduce DRMiner, the first tool for identifying and analyzing refactoring in Dockerfile. Our solution, designed, implemented, and evaluated in terms of correctness and generalization, relies on a novel E-ASTbased component-matching algorithm and a set of detection rules to determine refactoring candidates. This work will serve as a fundamental building block for the refactoring detection in the realm of Docker.
Code for RQ1 metrics