DRIVE: Dockerfile Rule Mining and Violation Detection

Yu Zhou,Weilin Zhan,Zi Li,Tingting Han,Taolue Chen,Harald Gall
DOI: https://doi.org/10.1145/3617173
IF: 3.685
2023-08-21
ACM Transactions on Software Engineering and Methodology
Abstract:A Dockerfile defines a set of instructions to build Docker images, which can then be instantiated to support containerized applications. Recent studies have revealed a considerable amount of quality issues with Dockerfiles. In this paper, we propose a novel approach DRIVE ( D ockerfiles R ule m I ning and V iolation d E tection) to mine implicit rules and detect potential violations of such rules in Dockerfiles. DRIVE firstly parses Dockerfiles and transforms them to an intermediate representation. It then leverages an efficient sequential pattern mining algorithm to extract potential patterns. With heuristic-based reduction and moderate human intervention, potential rules are identified, which can then be utilized to detect potential violations of Dockerfiles. DRIVE identifies 34 semantic rules and 19 syntactic rules including 9 new semantic rules which have not been reported elsewhere. Extensive experiments on real-world Dockerfiles demonstrate the efficacy of our approach.
computer science, software engineering
What problem does this paper attempt to address?