arXivDaily arXiv每日学术速递 周一至周五更新
北美退伍军人节(Veterans Day),12 日无更新
arXiv 2202.08701cs.SE
收藏

重新审视开源软件系统中重新开放的bug

Revisiting reopened bugs in open source software systems

Ankur Tagra, Haoxiang Zhang, Gopi Krishnan Rajbahadur, Ahmed E. Hassan

摘要:

重新打开的bug会降低软件系统的整体质量,因为它们需要开发人员进行不必要的返工。此外,重新打开的错误也会导致最终用户对软件质量的信任丧失。因此,预测可能重新打开的错误对于软件开发人员避免返工非常有帮助。先前关于重新开放的错误预测的研究只关注三个开源项目(即,Apache、Eclipse和OpenOffice)来生成见解。我们注意到,三个项目中有一个(即,Apache)有一个数据泄漏问题--重新打开的错误状态被包括在训练数据中,以预测重新打开的错误。此外,先前的研究使用过时的预测模型管道(即,利用构建预测模型的旧技术)来预测重新打开的错误。因此,我们重新开放的错误研究的一个大规模的数据集,包括47个项目跟踪JIRA使用现代技术,如SMOTE,排列重要性与7个不同的机器学习模型。我们使用混合方法(即,定量和定性研究)。我们发现:1)在使用更新后重新开放的bug预测模型管道后,只有34%的项目给出了AUC >= 0.7的可接受性能。2)有四个主要原因导致bug被重新打开,即技术原因(即,补丁/集成问题),文档,人(即,由于错误评估),以及错误报告中未显示的原因。3)在具有可接受AUC的项目中,94%的重新打开的bug是由于补丁问题(即,使用了不正确的补丁)。我们的研究重新开放的错误,并提供了新的见解开发人员的错误重开活动。

英文摘要:

Reopened bugs can degrade the overall quality of a software system since they require unnecessary rework by developers. Moreover, reopened bugs also lead to a loss of trust in the end-users regarding the quality of the software. Thus, predicting bugs that might be reopened could be extremely helpful for software developers to avoid rework. Prior studies on reopened bug prediction focus only on three open source projects (i.e., Apache, Eclipse, and OpenOffice) to generate insights. We observe that one out of the three projects (i.e., Apache) has a data leak issue -- the bug status of reopened was included as training data to predict reopened bugs. In addition, prior studies used an outdated prediction model pipeline (i.e., with old techniques for constructing a prediction model) to predict reopened bugs. Therefore, we revisit the reopened bugs study on a large scale dataset consisting of 47 projects tracked by JIRA using the modern techniques such as SMOTE, permutation importance together with 7 different machine learning models. We study the reopened bugs using a mixed methods approach (i.e., both quantitative and qualitative study). We find that: 1) After using an updated reopened bug prediction model pipeline, only 34% projects give an acceptable performance with AUC >= 0.7. 2) There are four major reasons for a bug getting reopened, that is, technical (i.e., patch/integration issues), documentation, human (i.e., due to incorrect bug assessment), and reasons not shown in the bug reports. 3) In projects with an acceptable AUC, 94% of the reopened bugs are due to patch issues (i.e., the usage of an incorrect patch) identified before bug reopening. Our study revisits reopened bugs and provides new insights into developer's bug reopening activities.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑