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: |
Computer science [C05] [Engineering
computing & technology] Source code business.industry Computer science media_common.quotation_subject Software development 020207 software engineering 02 engineering and technology [INFO.INFO-SE]Computer Science [cs]/Software Engineering [cs.SE] Python (programming language) Sciences informatiques [C05] [Ingénierie informatique & technologie] Electronic mail Wonder Software 020204 information systems 0202 electrical engineering electronic engineering information engineering Software engineering business computer ComputingMilieux_MISCELLANEOUS computer.programming_language media_common |
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 |
Externí odkaz: |