Meta-Maintanance for Dockerfiles: Are We There Yet?

05/05/2023
by   Takeru Tanaka, et al.
0

Docker allows for the packaging of applications and dependencies, and its instructions are described in Dockerfiles. Nowadays, version pinning is recommended to avoid unexpected changes in the latest version of a package. However, version pinning in Dockerfiles is not yet fully realized (only 17k of the 141k Dockerfiles we analyzed), because of the difficulties caused by version pinning. To maintain Dockerfiles with version-pinned packages, it is important to update package versions, not only for improved functionality, but also for software supply chain security, as packages are changed to address vulnerabilities and bug fixes. However, when updating multiple version-pinned packages, it is necessary to understand the dependencies between packages and ensure version compatibility, which is not easy. To address this issue, we explore the applicability of the meta-maintenance approach, which aims to distribute the successful updates in a part of a group that independently maintains a common artifact. We conduct an exploratory analysis of 7,914 repositories on GitHub that hold Dockerfiles, which retrieve packages on GitHub by URLs. There were 385 repository groups with the same multiple package combinations, and 208 groups had Dockerfiles with newer version combinations compared to others, which are considered meta-maintenance applicable. Our findings support the potential of meta-maintenance for updating multiple version-pinned packages and also reveal future challenges.

READ FULL TEXT

page 5

page 6

page 7

research
04/01/2023

A Large Scale Analysis of Semantic Versioning in NPM

The NPM package repository contains over two million packages and serves...
research
02/12/2021

Same File, Different Changes: The Potential of Meta-Maintenance on GitHub

Online collaboration platforms such as GitHub have provided software dev...
research
05/25/2023

Dependency Update Strategies and Package Characteristics

Managing project dependencies is a key maintenance issue in software dev...
research
06/05/2018

On the evolution of technical lag in the npm package dependency network

Software packages developed and distributed through package managers ext...
research
07/10/2023

Analyzing the Evolution of Inter-package Dependencies in Operating Systems: A Case Study of Ubuntu

An Operating System (OS) combines multiple interdependent software packa...
research
03/08/2021

Containing Malicious Package Updates in npm with a Lightweight Permission System

The large amount of third-party packages available in fast-moving softwa...
research
06/19/2022

Phantom Artifacts Code Review Coverage in Dependency Updates

The goal of this study is to aid developers in securely accepting depend...

Please sign up or login with your details

Forgot password? Click here to reset