中文

基础设施即代码缺陷分类法的复现研究

软件工程 2025-06-19 v3

摘要

背景:随着基础设施即代码(IaC)成为标准实践,确保 IaC 脚本的可靠性至关重要。缺陷分类法是实现这一目标的重要工具,它为问题提供了通用语言并支持系统化追踪。一项重要的先前研究开发了这样一种分类法,但仅基于声明式语言 Puppet。该分类法是否适用于基于编程语言的 IaC(PL-IaC)工具(如 Pulumi、Terraform CDK 和 AWS CDK)尚不清楚。目标:我们复现了这项基础性工作,以评估该分类法在更广泛、更多样化环境中的普适性。方法:我们对来自 285 个开源 PL-IaC 仓库(PIPr 数据集)的 3,364 个缺陷相关提交进行了定性分析,以推导出特定于 PL-IaC 的缺陷分类法。随后,我们增强了最初为先前研究开发的 ACID 工具,使其能够在一个扩展的数据集——包括 447 个开源仓库以及来自 VTEX(电子商务)和 Nubank(金融)的 94 个专有项目——上自动分类和分析缺陷分布。结果:我们的研究确认了与原始研究相同的八个缺陷类别,其中幂等性和安全性缺陷虽不频繁但在各项目中持续出现。配置数据缺陷在开源和专有代码库中均保持高频出现。结论:我们的复现研究支持了原始分类法的普适性,表明 IaC 开发挑战超越了组织边界。配置数据缺陷表现为一个持续的高频问题,而幂等性和安全性缺陷尽管频率较低,但仍是重要的关注点。这些模式在开源和专有项目中表现一致,表明它们是 IaC 范式本身所固有的,超越了特定的工具或项目类型。

关键词

引用

@article{arxiv.2505.01568,
  title  = {A Defect Taxonomy for Infrastructure as Code: A Replication Study},
  author = {Wendell Oliveira and Filipe Paiva and Thiago Emmanuel Pereira and João Brunet},
  journal= {arXiv preprint arXiv:2505.01568},
  year   = {2025}
}

备注

11 pages, 6 figures