缺陷修复提交中纠缠现象的细粒度数据集与分析
软件工程
2021-10-14 v4
摘要
背景:纠缠提交是一次性解决多个关注点的软件变更。对于关注缺陷的研究者而言,纠缠提交意味着他们实际研究的不仅是缺陷,还包括与缺陷研究无关的其它关注点。目标:我们希望增进对纠缠普遍程度以及缺陷修复提交中纠缠变更类型的理解。方法:我们采用众包方式进行人工标注,以验证缺陷修复提交中每一行哪些变更有助于缺陷修复。每行由四名参与者标注。若至少三名参与者对同一标签达成一致,则视为共识。结果:我们估计缺陷修复提交中 17% 至 32% 的变更修改了源代码以修复潜在问题。然而,若仅考虑对生产代码文件的变更,该比例升至 66% 至 87%。我们发现约 11% 的行难以标注,导致参与者间存在明显分歧。由于已确认的纠缠及数据中的不确定性,我们估计视用例不同,未经人工解缠的数据中有 3% 至 47% 为噪声。结论:纠缠提交在缺陷修复中普遍存在,并可能导致数据中大量噪声。先前研究表明该噪声可能改变结果。作为研究者,我们应保持怀疑,并假设未经验证的数据很可能噪声很大,直至被证明相反。
引用
@article{arxiv.2011.06244,
title = {A Fine-grained Data Set and Analysis of Tangling in Bug Fixing Commits},
author = {Steffen Herbold and Alexander Trautsch and Benjamin Ledel and Alireza Aghamohammadi and Taher Ahmed Ghaleb and Kuljit Kaur Chahal and Tim Bossenmaier and Bhaveet Nagaria and Philip Makedonski and Matin Nili Ahmadabadi and Kristof Szabados and Helge Spieker and Matej Madeja and Nathaniel Hoy and Valentina Lenarduzzi and Shangwen Wang and Gema Rodríguez-Pérez and Ricardo Colomo-Palacios and Roberto Verdecchia and Paramvir Singh and Yihao Qin and Debasish Chakroborti and Willard Davis and Vijay Walunj and Hongjun Wu and Diego Marcilio and Omar Alam and Abdullah Aldaeej and Idan Amit and Burak Turhan and Simon Eismann and Anna-Katharina Wickert and Ivano Malavolta and Matus Sulir and Fatemeh Fard and Austin Z. Henley and Stratos Kourtzanidis and Eray Tuzun and Christoph Treude and Simin Maleki Shamasbi and Ivan Pashchenko and Marvin Wyrich and James Davis and Alexander Serebrenik and Ella Albrecht and Ethem Utku Aktas and Daniel Strüber and Johannes Erbel},
journal= {arXiv preprint arXiv:2011.06244},
year = {2021}
}
备注
Status: Accepted at Empirical Software Engineering