Handling duplicates in Dockerfiles families: Learning from experts

Autor: Xavier Blanc, Jean-Rémy Falleri, Tegawendé F. Bissyandé, Mohamed A. Oumaziz, Jacques Klein
Přispěvatelé: Laboratoire Bordelais de Recherche en Informatique (LaBRI), Université de Bordeaux (UB)-Centre National de la Recherche Scientifique (CNRS)-École Nationale Supérieure d'Électronique, Informatique et Radiocommunications de Bordeaux (ENSEIRB), Institut Universitaire de France (IUF), Ministère de l'Education nationale, de l’Enseignement supérieur et de la Recherche (M.E.N.E.S.R.), University of Luxembourg [Luxembourg], Security, Reliability and Trust Interdisciplibary Research Centre (S'nT), Université du Luxembourg (Uni.lu)
Jazyk: angličtina
Rok vydání: 2019
Předmět:
Zdroj: BASE-Bielefeld Academic Search Engine
2019 IEEE International Conference on Software Maintenance and Evolution (ICSME)
2019 IEEE International Conference on Software Maintenance and Evolution (ICSME), Sep 2019, Cleveland, France. pp.524-535, ⟨10.1109/ICSME.2019.00086⟩
ICSME
DOI: 10.1109/ICSME.2019.00086⟩
Popis: Docker is becoming a popular tool used by developers and end-users to deploy and run software applications. Dockerfiles now belong to software projects as any other software artefacts such as source code or configuration files. Many projects are even starting to maintain families of Dockerfiles rather than a single Dockerfile like the Python project who simultaneously maintains a family of 43 Dockerfiles (specific versions/dependencies). In this paper, we wonder if traditional maintenance challenge of handling duplicates arises in such projects since this challenge is classical in software development, even for non-code software artefacts. Our goal is to provide practitioners a clear explanation for why duplicates arise in projects, and what are the different means to handle duplicates with their pros and cons. To do so, we observe the practices of expert Dockerfile maintainers of Official Docker projects (128 projects) and perform a survey on 25 maintainers from our corpus. We show that duplicates in Dockerfiles are frequent in our corpus, that developers are aware of their existence, are frequently facing them and have a split opinion regarding them (error-prone but easy to maintain with the right tools). Finally, we show that some maintainers manage to limit duplicates by using ad-hoc tools. These tools while sometimes hard to set-up can help reduce the amount of duplicates by up-to 85%.
Databáze: OpenAIRE