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.
翻译:软件在释放中出现。 对软件的不可信变化在先前的释放中从未改变过。 当计划如何减少缺陷时, 最好使用表面的改变, 也就是在先前的释放中有一些优先的改变。 为了展示这些观点, 本文比较了几个减少缺陷的规划工具。 LIME 是一个本地敏感度分析工具, 可以报告改变某些代码模块分类所需的最微小的改变( 例如, 从“不合格”到“不坏” ) 。 Time 是一个新工具, 在本文中引入了这个工具, 它通过将LIME的计划限制在仅仅改变项目内最大变化的属性上来改进 LIME 。 在这次研究中,我们比较了 LIME 和 TiLIME 和其他一些减少缺陷的规划算法的性能。 所产生的计划是通过 (a) 拟议的代码修改和开发者真实的代码修改之间的相似性分数; (b) 在计划后的项目中看到的改进分数。 对于9个项目来说, 我们发现 TiLIME 的排放量比所有其他算法都优于其他的算法( 在9次试验中应用了8次于9次数 实验中)。 因此, 我们强烈地建议使用SELe 将使用过去的精确的计算结果, 。