Identifying casualty changes in software patches

Identifying casualty changes in software patches
复制标题

DOI:
10.1145/3468264.3468624
复制
发表时间:
2021-08
期刊:
Proceedings of the 29th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering
影响因子:
--
通讯作者:
Adriana Sejfia;Yixue Zhao;N. Medvidović
Adriana Sejfia;Yixue Zhao;N. Medvidović
中科院分区:
其他
文献类型:
--
作者:
Adriana Sejfia;Yixue Zhao;N. Medvidović

文献摘要

相似文献

软件补丁中的噪声会影响他们对更改预测等任务的理解,分析和使用。尽管已经开发了几种方法来识别斑块中的噪声,但此问题仍然存在。对Tomcat Web服务器的安全补丁数据集的分析,我们通过五个其他系统的安全补丁进一步扩展了该数据集,发现了几种先前未报告的噪声,我们称之为非必需的伤亡更改。这些更改本身不会改变程序的逻辑,而是补丁中的其他更改所必需的。在本文中,我们提供了伤亡变化的全面分类法。然后,我们开发级联技术,这是一种自动化技术,用于自动识别伤亡变化。我们使用几个专注于它们的补丁和工具的数据集评估了级联。我们的结果表明,级联反应是高度准确的,它所识别的噪声类型在斑块中相对常见,并且在先前公布的基于变更的方法的评估结果之后,消除这种噪声会得到改善。
Noise in software patches impacts their understanding, analysis, and use for tasks such as change prediction. Although several approaches have been developed to identify noise in patches, this issue has persisted. An analysis of a dataset of security patches for the Tomcat web server, which we further expanded with security patches from five additional systems, uncovered several kinds of previously unreported noise which we call nonessential casualty changes. These are changes that themselves do not alter the logic of the program but are necessitated by other changes made in the patch. In this paper, we provide a comprehensive taxonomy of casualty changes. We then develop CasCADe, an automated technique for automatically identifying casualty changes. We evaluate CasCADe with several publicly available datasets of patches and tools that focus on them. Our results show that CasCADe is highly accurate, that the kinds of noise it identifies occur relatively commonly in patches, and that removing this noise improves upon the evaluation results of a previously published change-based approach.