实践中的依赖项更新自动化:基于 GitHub Dependabot 的探索性研究
软件工程
2023-05-26 v3 人机交互
摘要
依赖管理机器人会自动发起拉取请求以代替开发者更新软件依赖项。早期研究表明,开发者对这些机器人执行的更新持怀疑态度,并因这些机器人过多的通知而感到疲惫。尽管如此,依赖管理机器人正变得越来越流行。这种反差促使我们调查当前 GitHub 上最显眼的机器人 Dependabot,以揭示最先进依赖管理机器人的有效性与局限性。我们使用探索性数据分析和开发者调查来评估 Dependabot 在保持依赖项最新、与开发者交互、减少更新怀疑和减轻通知疲劳方面的有效性。我们得到了混合的发现。积极的一面是,项目在采用 Dependabot 后确实减少了技术滞后,且开发者对其拉取请求接受度很高。消极的一面是,其兼容性评分过于稀少,无法有效减少更新怀疑;开发者倾向于配置 Dependabot 以减少通知数量;且 11.3% 的项目已弃用 Dependabot 而改用其他替代方案。调查证实了我们的发现,并提供了对 Dependabot 关键缺失功能的见解。基于我们的发现,我们推导并总结了理想依赖管理机器人的关键特征,可归为四个维度:可配置性、自主性、透明性和自适应性。
引用
@article{arxiv.2206.07230,
title = {Automating Dependency Updates in Practice: An Exploratory Study on GitHub Dependabot},
author = {Runzhi He and Hao He and Yuxia Zhang and Minghui Zhou},
journal= {arXiv preprint arXiv:2206.07230},
year = {2023}
}
备注
IEEE Transactions on Software Engineering