中文

利用众包进行依赖管理:关于 Dependabot 兼容性评分的实证研究

软件工程 2024-03-15 v1

摘要

Dependabot 是一款流行的依赖管理工具,它包含一项兼容性评分功能,可利用“众包”知识帮助客户端包评估接受依赖更新的风险。对于每次依赖更新,Dependabot 将该兼容性评分计算为使用相同提供者包作为依赖的其他客户端包成功执行更新的比例。本文研究了兼容性评分在帮助客户端包评估接受依赖更新所涉风险方面的有效性。我们分析了由 Dependabot 发起用于更新依赖的 579,206 个拉取请求,以及由 Dependabot 计算的 618,045 条兼容性评分记录。我们发现,由于缺乏众包数据,83% 的依赖更新无法计算兼容性评分。然而,在能够计算出评分的绝大多数情况中,其置信区间很小且基于低质量数据,这表明客户端包应从额外角度评估更新风险及兼容性评分的可靠性。为克服这些局限性,我们提出了一些指标来放大众包的输入,并证明了这些指标预测客户端包接受成功更新的能力。我们还证明了来自客户端包的历史更新指标可用于提供更具个性化的兼容性评分。基于我们的发现,我们认为在利用众包时,依赖管理机器人应包含置信区间,以帮助校准客户端对兼容性评分的信任程度,并考虑执行候选更新的测试质量。

关键词

引用

@article{arxiv.2403.09012,
  title  = {Leveraging the Crowd for Dependency Management: An Empirical Study on the Dependabot Compatibility Score},
  author = {Benjamin Rombaut and Filipe R. Cogo and Ahmed E. Hassan},
  journal= {arXiv preprint arXiv:2403.09012},
  year   = {2024}
}