Dockerfile TF Smell Detection Based on Dynamic and Static Analysis Methods

Dockerfile is used to build docker image. In the image building process, temporary files are frequently used to import applications and data. A careless use of Dockerfile may cause temporary file left in the image, which can increase the image size, thus effects the elastic scale ability and QoS. This problem is identified as temporary file smell. The feature of UnionFS that docker image used is different from traditional filesystems. If users are not paying attention, they are too apt to make such mistakes. To address this problem, we propose two different methods to detect temporary file smell with dynamic analysis and static analysis respectively. We use the really-world cases to evaluate our methods. Experimental results show that our methods can effectively detect the temporary file smell.

[1]  Pramod Bhatotia,et al.  Cntr: Lightweight OS Containers , 2018, USENIX Annual Technical Conference.

[2]  Gang Yin,et al.  An Insight Into the Impact of Dockerfile Evolutionary Trajectories on Quality and Latency , 2018, 2018 IEEE 42nd Annual Computer Software and Applications Conference (COMPSAC).

[3]  Ruben Verborgh,et al.  Representing Dockerfiles in RDF , 2017, International Semantic Web Conference.

[4]  Gerard J. Holzmann Cobra: a light-weight tool for static and dynamic program analysis , 2016, Innovations in Systems and Software Engineering.

[5]  Carl Boettiger,et al.  An introduction to Docker for reproducible research , 2014, OPSR.

[6]  Tao Huang,et al.  Clustering-based acceleration for virtual machine image deduplication in the cloud environment , 2016, J. Syst. Softw..

[7]  Andrea C. Arpaci-Dusseau,et al.  Slacker: Fast Distribution with Lazy Docker Containers , 2016, FAST.

[8]  Kexun Yu,et al.  Docker-Based Automatic Deployment for Nuclear Fusion Experimental Data Archive Cluster , 2018, IEEE Transactions on Plasma Science.

[9]  Guillaume Pierre,et al.  Docker Container Deployment in Fog Computing Infrastructures , 2018, 2018 IEEE International Conference on Edge Computing (EDGE).

[10]  Harald C. Gall,et al.  An Empirical Analysis of the Docker Container Ecosystem on GitHub , 2017, 2017 IEEE/ACM 14th International Conference on Mining Software Repositories (MSR).

[11]  Tianyu Wo,et al.  Cider: a Rapid Docker Container Deployment System through Sharing Network Storage , 2017, 2017 IEEE 19th International Conference on High Performance Computing and Communications; IEEE 15th International Conference on Smart City; IEEE 3rd International Conference on Data Science and Systems (HPCC/SmartCity/DSS).

[12]  Foyzul Hassan,et al.  RUDSEA: Recommending Updates of Dockerfiles via Software Environment Analysis , 2018, 2018 33rd IEEE/ACM International Conference on Automated Software Engineering (ASE).