自动化的隐藏成本:关于 GitHub Actions 工作流程维护的实证研究
软件工程
2024-09-05 v1
摘要
GitHub Actions (GA) 是一种编排平台,用于简化软件工程任务(如构建、测试和部署)的自动执行。尽管 GA 工作流程是实现自动化的主要手段,但根据我们的经验和观察,仍需人工介入来纠正缺陷、更新依赖项或重构现有工作流程文件。事实上,先前的研究表明,类似工作流程的软件制品(如构建文件和机器人)会在软件项目中引入额外的维护任务。这表明,这些用于自动化专业软件生产中重复任务的工作流程文件,可能为开发人员带来额外的工作负担。然而,这种工作量的性质尚未得到充分研究。本文提出了一项大规模实证调查,通过研究十种编程语言中 nearly 200 个成熟 GitHub 项目中工作流程文件的演化,来 characterize GA 工作流程的维护。我们的发现基本上确认了类似制品(如构建文件和机器人)维护的先前研究结果,同时也揭示了 GA 特定的见解,例如 bug 修复和 CI/CD 改进是 GA 维护的主要驱动力。一个直接的含义是,实践者应该对维护 GA 工作流程的合理资源计划和分配保持警惕,从而暴露了“自动化的隐藏成本”。我们的发现也呼吁识别和记录此类维护的最佳实践,并提供增强的工具功能,以支持依赖项跟踪和更好的工作流程规范错误报告。
引用
@article{arxiv.2409.02366,
title = {The Hidden Costs of Automation: An Empirical Study on GitHub Actions Workflow Maintenance},
author = {Pablo Valenzuela-Toledo and Alexandre Bergel and Timo Kehrer and Oscar Nierstrasz},
journal= {arXiv preprint arXiv:2409.02366},
year = {2024}
}