当前位置: X-MOL 学术ACM Trans. Softw. Eng. Methodol. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Leveraging the Defects Life Cycle to Label Affected Versions and Defective Classes
ACM Transactions on Software Engineering and Methodology ( IF 6.6 ) Pub Date : 2021-02-10 , DOI: 10.1145/3433928
Bailey Vandehei 1 , Daniel Alencar Da Costa 2 , Davide Falessi 3
Affiliation  

Two recent studies explicitly recommend labeling defective classes in releases using the affected versions (AV) available in issue trackers (e.g., Jira). This practice is coined as the realistic approach . However, no study has investigated whether it is feasible to rely on AVs. For example, how available and consistent is the AV information on existing issue trackers? Additionally, no study has attempted to retrieve AVs when they are unavailable. The aim of our study is threefold: (1) to measure the proportion of defects for which the realistic method is usable, (2) to propose a method for retrieving the AVs of a defect, thus making the realistic approach usable when AVs are unavailable, (3) to compare the accuracy of the proposed method versus three SZZ implementations. The assumption of our proposed method is that defects have a stable life cycle in terms of the proportion of the number of versions affected by the defects before discovering and fixing these defects. Results related to 212 open-source projects from the Apache ecosystem, featuring a total of about 125,000 defects, reveal that the realistic method cannot be used in the majority (51%) of defects. Therefore, it is important to develop automated methods to retrieve AVs. Results related to 76 open-source projects from the Apache ecosystem, featuring a total of about 6,250,000 classes, affected by 60,000 defects, and spread over 4,000 versions and 760,000 commits, reveal that the proportion of the number of versions between defect discovery and fix is pretty stable (standard deviation <2)—across the defects of the same project. Moreover, the proposed method resulted significantly more accurate than all three SZZ implementations in (i) retrieving AVs, (ii) labeling classes as defective, and (iii) in developing defects repositories to perform feature selection. Thus, when the realistic method is unusable, the proposed method is a valid automated alternative to SZZ for retrieving the origin of a defect. Finally, given the low accuracy of SZZ, researchers should consider re-executing the studies that have used SZZ as an oracle and, in general, should prefer selecting projects with a high proportion of available and consistent AVs.

中文翻译:

利用缺陷生命周期标记受影响的版本和缺陷类

最近的两项研究明确建议使用问题跟踪器(例如 Jira)中可用的受影响版本 (AV) 在版本中标记缺陷类。这种做法被创造为现实的方法. 然而,没有研究调查依赖 AV 是否​​可行。例如,现有问题跟踪器上的 AV 信息的可用性和一致性如何?此外,没有研究试图在 AV 不可用时检索它们。我们研究的目的有三个:(1) 测量可使用真实方法的缺陷比例,(2) 提出一种检索缺陷 AV 的方法,从而使真实方法在 AV 不可用时可用, (3) 比较所提出的方法与三个 SZZ 实现的准确性。我们提出的方法的假设是,在发现和修复这些缺陷之前,就受缺陷影响的版本数量的比例而言,缺陷具有稳定的生命周期。与 Apache 生态系统中的 212 个开源项目相关的结果,共有约 125,000 个缺陷,表明现实方法不能用于大多数(51%)缺陷。因此,开发自动检索 AV 的方法非常重要。来自 Apache 生态系统的 76 个开源项目的相关结果显示,共有约 6,250,000 个类,受到 60,000 个缺陷的影响,分布在 4,000 个版本和 760,000 次提交中,发现缺陷和修复之间的版本数比例为相当稳定(标准差 <2)——跨越同一个项目的缺陷。此外,在 (i) 检索 AV、(ii) 将类标记为有缺陷以及 (iii) 在开发缺陷存储库以执行特征选择方面,所提出的方法比所有三种 SZZ 实现更准确。因此,当现实方法无法使用时,所提出的方法是 SZZ 检索缺陷来源的有效自动化替代方法。最后,鉴于 SZZ 的准确性较低,研究人员应考虑重新执行使用 SZZ 作为预言机的研究,并且通常应选择具有高比例可用且一致的 AV 的项目。
更新日期:2021-02-10
down
wechat
bug