论文标题
减少缺陷计划(使用时间段)
Defect Reduction Planning (using TimeLIME)
论文作者
论文摘要
软件发行。对软件的令人难以置信的更改是在先前发行中从未改变的。在计划如何减少缺陷时,最好使用合理的更改,即在先前的发行版中具有一些优先次数的变化。 为了证明这些要点,本文比较了几种减少缺陷计划工具。石灰是一种局部灵敏度分析工具,可以报告更改某些代码模块的分类所需的最少变化(例如,从“有缺陷”到“非缺陷”)。时机是本文介绍的一种新工具,它通过将其计划限制在项目中改变最大的属性来改善石灰。 在这项研究中,我们比较了石灰和时间的性能以及其他几种减少缺陷计划算法。通过(a)提出的代码更改与开发人员进行的实际代码更改之间的相似性分数评估; (b)遵循计划的项目中看到的改进分数。对于9个项目步道,我们发现时间段的表现优于所有其他算法(在9个试验中的8个)。因此,我们强烈建议将过去的发行版用作用于计算新版本的计算修复的知识来源(使用时间段)。 除了计划缺陷减少和时间时的这些具体结果外,本文更一般的观点是,我们的社区在使用现成的AI工具时应更加谨慎,而无需先应用SE知识。在此案例研究中,增加具有SE知识的标准AI算法并不困难(过去的发行版是计划缺陷减少的良好知识来源)。如下所示,一旦应用了SE知识,这将导致更大的系统。
Software comes in releases. An implausible change to software is something that has never been changed in prior releases. When planning how to reduce defects, it is better to use plausible changes, i.e., changes with some precedence in the prior releases. To demonstrate these points, this paper compares several defect reduction planning tools. LIME is a local sensitivity analysis tool that can report the fewest changes needed to alter the classification of some code module (e.g., from "defective" to "non-defective"). TimeLIME is a new tool, introduced in this paper, that improves LIME by restricting its plans to just those attributes which change the most within a project. In this study, we compared the performance of LIME and TimeLIME and several other defect reduction planning algorithms. The generated plans were assessed via (a) the similarity scores between the proposed code changes and the real code changes made by developers; and (b) the improvement scores seen within projects that followed the plans. For nine project trails, we found that TimeLIME outperformed all other algorithms (in 8 out of 9 trials). Hence, we strongly recommend using past releases as a source of knowledge for computing fixes for new releases (using TimeLIME). Apart from these specific results about planning defect reductions and TimeLIME, the more general point of this paper is that our community should be more careful about using off-the-shelf AI tools, without first applying SE knowledge. In this case study, it was not difficult to augment a standard AI algorithm with SE knowledge (that past releases are a good source of knowledge for planning defect reductions). As shown here, once that SE knowledge is applied, this can result in dramatically better systems.