- 简介第三方依赖更新可能会导致构建失败,如果新的依赖版本引入了与使用不兼容的更改,这被称为破坏性依赖更新。关于破坏性依赖更新的研究正在进行中,包括特征化、理解、自动修复破坏性更新和其他软件工程方面的工作。所有这些研究项目都需要一个具有以下特性的破坏性更新基准:1)它包含真实世界的破坏性更新;2)这些破坏性更新可以被执行;3)该基准提供了随时间稳定的破坏性更新的科学实物,这是我们称之为可重复性的特性。据我们所知,这样的基准缺失。为了解决这个问题,我们提出了BUMP,这是一个新的基准,它包含在使用Maven构建系统构建的Java项目上下文中可重复的破坏性依赖更新。BUMP包含从153个Java项目中收集的571个破坏性依赖更新。BUMP确保在不同平台上长期可重复使用依赖更新,保证一致的构建失败。我们对BUMP中构建失败的不同原因进行分类,为未来的破坏性更新工程提供新的见解。据我们所知,BUMP是第一个提供数百个真实世界破坏性更新的基准,所有这些更新都已被复制。
-
- 图表
- 解决问题论文旨在解决缺乏一个具有稳定科学特征的基准测试的问题,该基准测试包含真实世界的破坏性依赖更新,这些更新可以在不同平台上进行重复,并保证一致的构建失败。
- 关键思路BUMP是一个新的基准测试,其中包含了在使用Maven构建系统的Java项目中收集的571个破坏性依赖更新,可以长期重复使用,以确保不同平台上的一致构建失败。
- 其它亮点BUMP提供了一个可重复使用的基准测试,其中包含了数百个真实世界的破坏性更新,为未来的破坏更新工程研究提供了新的见解。论文还提供了不同构建失败原因的分类。实验设计详细,数据集和代码开源。
- 最近的相关研究包括对破坏性依赖更新的特征化、理解、自动修复等方面的工作。
NEW
提问交流
提交问题,平台邀请作者,轻松获得权威解答~
向作者提问

提问交流