From 6281c779d2766238a0a14e18e3e81511b530c0cb Mon Sep 17 00:00:00 2001 From: raphgm Date: Thu, 24 Sep 2026 18:22:40 +0100 Subject: [PATCH 1/2] Change author affiliation to Andela --- .zenodo.json | 2 +- CITATION.cff | 2 +- paper/main.tex | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.zenodo.json b/.zenodo.json index e8cf262..1ddd5fe 100644 --- a/.zenodo.json +++ b/.zenodo.json @@ -5,7 +5,7 @@ "creators": [ { "name": "Gab-Momoh, Raphael", - "affiliation": "Paynautik Limited", + "affiliation": "Andela", "orcid": "0009-0000-9090-7957" } ], diff --git a/CITATION.cff b/CITATION.cff index d87656f..4161bc9 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -5,7 +5,7 @@ type: software authors: - family-names: Gab-Momoh given-names: Raphael - affiliation: Paynautik Limited + affiliation: Andela orcid: "https://orcid.org/0009-0000-9090-7957" repository-code: "https://github.com/raphgm/container-preflight" license: MIT diff --git a/paper/main.tex b/paper/main.tex index 4d5ffd9..181085a 100644 --- a/paper/main.tex +++ b/paper/main.tex @@ -27,7 +27,7 @@ \author[1]{Raphael Gab-Momoh\corref{cor1}} \ead{rdgabmomoh@gmail.com} \cortext[cor1]{Corresponding author. ORCID: \href{https://orcid.org/0009-0000-9090-7957}{0009-0000-9090-7957}} -\affiliation[1]{organization={Paynautik Limited},city={Lagos},country={Nigeria}} +\affiliation[1]{organization={Andela},city={Lagos},country={Nigeria}} \begin{abstract} Containerized projects that work on one machine routinely fail on another: an image lacks the host's CPU architecture, a Compose file needs more memory than the Docker virtual machine has, a \texttt{COPY} source is excluded by \texttt{.dockerignore}, a port is already taken. Existing tools inspect either the artifacts (Dockerfile linters) or the host (daemon diagnostics), never both, and Docker itself reports only the first failure it reaches. We present \tool{}, an approach and tool that predicts deployment failures before anything runs by joining three views: requirements extracted from Compose files and Dockerfiles with Docker's own parsers, a capability profile of the host (including the virtual machine that Docker Desktop and Colima run on macOS), and image metadata read directly from registries. Checks that depend on facts that cannot be established are grouped under a single root cause through an explicit causal graph, and a learning component turns observed failures into shareable rules that are generalized by later failures and specialized by successful runs. We estimated 95k GitHub issues across 32 failure categories, correcting search counts by verified precision, and labeled two stratified samples. On a held-out sample drawn after the rules were frozen, \tool{} fully predicted 33\% of local Docker failures and at least partially predicted 58\% (58\% weighted by category prevalence); categories it does not target are dominated by runtime behavior such as DNS resolution and health checks. On two real engines (Colima and Docker Desktop) on the same machine, 8 of 11 initial predictions matched the actual failure, 6 word for word, and the same project received different, confirmed predictions per engine. \todo{Inter-rater agreement (Cohen's $\kappa$) on 40 held-out issues.} From bac0c750a91078a17c5df9c3de513734ec967723 Mon Sep 17 00:00:00 2001 From: raphgm Date: Thu, 24 Sep 2026 18:23:29 +0100 Subject: [PATCH 2/2] zenodo: use the license id Zenodo accepts (mit) --- .zenodo.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.zenodo.json b/.zenodo.json index 1ddd5fe..06da653 100644 --- a/.zenodo.json +++ b/.zenodo.json @@ -9,7 +9,7 @@ "orcid": "0009-0000-9090-7957" } ], - "license": "MIT", + "license": "mit", "keywords": [ "containers", "Docker",