Studying re-opened bugs in open source software

Studying re-opened bugs in open source software
复制标题

DOI:
10.1007/s10664-012-9228-6
复制
发表时间:
2012-09
影响因子:
4.1
通讯作者:
Emad Shihab;Akinori Ihara;Yasutaka Kamei;Walid M. Ibrahim;M. Ohira;Bram Adams;A. Hassan;Ken-ichi Matsumoto
Emad Shihab;Akinori Ihara;Yasutaka Kamei;Walid M. Ibrahim;M. Ohira;Bram Adams;A. Hassan;Ken-ichi Matsumoto
中科院分区:
计算机科学2区
文献类型:
--
作者:
Emad Shihab;Akinori Ihara;Yasutaka Kamei;Walid M. Ibrahim;M. Ohira;Bram Adams;A. Hassan;Ken-ichi Matsumoto

文献摘要

被引文献

相似文献

Bug修复占用了大量的软件维护资源。一般来说,bug会被报告、修复、验证和关闭。然而,在某些情况下,bug必须重新打开。重新打开的bug增加了维护成本,降低了软件的整体用户感知质量,并导致繁忙的从业者不必要的返工。在本文中,我们通过对三个大型开源项目(即Eclipse、Apache和OpenOffice)的案例研究来研究和预测重新打开的bug。我们沿着四个维度构建我们的研究:(1)工作习惯维度(例如,最初关闭bug的工作日),(2)bug报告维度(例如,发现bug的组件),(3)bug修复维度(例如,执行初始修复所花费的时间)和(4)团队维度(例如,bug修复者的经验)。我们使用上述因素构建决策树,旨在预测重新打开的bug。我们执行顶节点分析,以确定哪些因素是bug是否会被重新打开的最重要的指标。我们的研究表明,评论文本和bug最初关闭时的最后状态是影响bug是否会被重新打开的最重要因素。使用这些维度的组合,我们可以建立可解释的预测模型,在预测bug是否会重新打开时,可以实现52.1 - 78.6%的精度和70.5 - 94.1%的召回率。我们发现,最能指示哪些bug可能被重新打开的因素因项目而异。注释文本对于Eclipse和OpenOffice项目来说是最重要的因素,而最后一个状态对于Apache来说是最重要的。应该仔细检查这些因素,以减少由于重新打开的bug而导致的维护成本。
Bug fixing accounts for a large amount of the software maintenance resources. Generally, bugs are reported, fixed, verified and closed. However, in some cases bugs have to be re-opened. Re-opened bugs increase maintenance costs, degrade the overall user-perceived quality of the software and lead to unnecessary rework by busy practitioners. In this paper, we study and predict re-opened bugs through a case study on three large open source projects—namely Eclipse, Apache and OpenOffice. We structure our study along four dimensions: (1) the work habits dimension (e.g., the weekday on which the bug was initially closed), (2) the bug report dimension (e.g., the component in which the bug was found) (3) the bug fix dimension (e.g., the amount of time it took to perform the initial fix) and (4) the team dimension (e.g., the experience of the bug fixer). We build decision trees using the aforementioned factors that aim to predict re-opened bugs. We perform top node analysis to determine which factors are the most important indicators of whether or not a bug will be re-opened. Our study shows that the comment text and last status of the bug when it is initially closed are the most important factors related to whether or not a bug will be re-opened. Using a combination of these dimensions, we can build explainable prediction models that can achieve a precision between 52.1–78.6 % and a recall in the range of 70.5–94.1 % when predicting whether a bug will be re-opened. We find that the factors that best indicate which bugs might be re-opened vary based on the project. The comment text is the most important factor for the Eclipse and OpenOffice projects, while the last status is the most important one for Apache. These factors should be closely examined in order to reduce maintenance cost due to re-opened bugs.