缺陷预测的论文阅读记录
«««< HEAD
957360c005198a30d324d3f9803c60f281473410
A Complexity Measure (1976)
提出了通过圈复杂度这一指标来对程序的复杂性进行度量,并提出怎样通过图形方法和公式来计算程序的复杂度。
### intergrated Approach to software Defect Prediction (2017)
提供一种利用defect accelaration, namely, the defect density, defect velocity, defect introduction time, and determines the correlation of each predictor variable with the number of defect,从而对缺陷的具体数量进行预测的方法。
论文采用了回归模型,仓库采用的是PROMISE,涵盖22838个实例,The regression model constructed as a function of the average defect velocity achieved an adjusted R-square of 98.6%, with a p-value of <0.001. 平均缺陷速度与缺陷数量正相关,相关系数0.98。这证明了这项技术可以为软件测试提供参考。
优势:这些指标在生命周期中使用比较早,一方面可以有效的降低缺陷目的;另一方面可以帮助管理人员判定是否需要提高当下的质量监督力度;此外,还能为确认与验证的策划提供帮助。除此之外,因为在测试之前就可以预测缺陷的数量,则可以通过测试资源的配比来提升测试的费效比。
该文中的参考文献16提出,关于模型的所有的输出和准确度都是基于当下的训练数据的,而数据的不可靠很可能因为过拟合而造成不可信的结果。
参考文献23中指出朴素贝叶斯在预测分类中的性能是最好的,但是并不表示它在所有训练中都能得到最佳的效果,因为目前没有一种训练模型在所有的缺陷分类性能中都有明显的优势。
文献30中指出分类器的选择对于预测性能的影响其实不大,但是模型构建系数能非常明显的影响预测的性能。因为研究小组需要负责模型的预处理,如果数据不被合适的清洗,则结果一定是有偏差的。因此,预测研究的性能其实取决于研究小组而不是分类器的选择。
该文考虑了设计复杂度对于缺陷的影响,还考虑了UML模块设计复杂度对于缺陷的影响。
文献[39]的作者观察到,在类级别分析复杂性可以防止在软件开发后期出现缺陷,并有助于改进设计的细节。
用的指标:
- defect density
- defect velocity
- defect introduction time
- design complexity