中文

Dockerfile 非确定性行为:特征化与修复

软件工程 2025-02-13 v2

摘要

Dockerfile 非确定性行为——由外部依赖和不断变化的环境导致的不可预测时间构建失败——削弱了部署可靠性并增加了调试开销。与传统 Dockerfile 问题不同,非确定性行为在 Dockerfile 本身未被修改时就会发生,这使得其解决变得复杂。本文首次对 Dockerfile 非确定性行为进行全面研究,基于对 8,132 个 Docker 化项目的九个月分析,揭示约 10% 的项目 exhibits flaky behavior。我们提出了一种分类法,用于归类常见的非确定性行为原因,包括依赖错误和服务器连接问题。现有工具由于依赖预定义规则且泛化性有限,无法有效解决这些挑战。为克服这些限制,我们引入 FLAKIDOCK—a 一种新型修复框架,结合静态和动态分析、相似性检索以及由大语言模型(LLM)驱动的迭代反馈循环。我们的评估显示,FLAKIDOCK achieves a repair accuracy of 73.55%,显著优于最先进的工具和基准。

关键词

引用

@article{arxiv.2408.05379,
  title  = {Dockerfile Flakiness: Characterization and Repair},
  author = {Taha Shabani and Noor Nashid and Parsa Alian and Ali Mesbah},
  journal= {arXiv preprint arXiv:2408.05379},
  year   = {2025}
}