Identifying casualty changes in software patches
Identifying casualty changes in software patches
复制标题
DOI:
10.1145/3468264.3468624
复制
发表时间:
2021-08
期刊:
影响因子:
--
通讯作者:
Adriana Sejfia;Yixue Zhao;N. Medvidović
中科院分区:
文献类型:
--
作者:
Adriana Sejfia;Yixue Zhao;N. Medvidović
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.