首页 | 本学科首页   官方微博 | 高级检索  
     

基于文件粒度的多目标软件缺陷预测方法实证研究
引用本文:陈翔,赵英全,顾庆,倪超,王赞.基于文件粒度的多目标软件缺陷预测方法实证研究[J].软件学报,2019,30(12):3694-3713.
作者姓名:陈翔  赵英全  顾庆  倪超  王赞
作者单位:南通大学 信息科学技术学院, 江苏 南通 226019;计算机软件新技术国家重点实验室(南京大学), 江苏 南京 210023;广西可信软件重点实验室(桂林电子科技大学), 广西 桂林 541004,南通大学 信息科学技术学院, 江苏 南通 226019,计算机软件新技术国家重点实验室(南京大学), 江苏 南京 210023,计算机软件新技术国家重点实验室(南京大学), 江苏 南京 210023,天津大学 软件学院, 天津 300072
基金项目:国家自然科学基金(61702041,61602267,61202006);南京大学计算机软件新技术国家重点实验室开放课题(KFKT2019B14);广西可信软件重点实验室研究课题(kx201610);南通市应用研究计划(JC2018134);江苏省政府留学奖学金
摘    要:软件缺陷预测技术通过挖掘和分析软件库训练出软件缺陷预测模型,随后利用该模型来预测出被测软件项目内的缺陷程序模块,因此可以有效地优化测试资源的分配.在基于代价感知的评测指标下,有监督学习方法与无监督学习方法之间的预测性能比较是最近的一个热门研究话题.其中在基于文件粒度的缺陷预测问题中,Yan等人最近对Yang等人考虑的无监督学习方法和有监督学习方法展开了大规模实证研究,结果表明存在一些无监督学习方法,其性能要优于有监督方法.基于来自开源社区的10个项目展开了实证研究.结果表明:在同项目缺陷预测场景中,若基于ACC评测指标,MULTI方法与最好的无监督方法和有监督方法相比,其预测性能平均有105.81%和123.84%的提高;若基于POPT评测指标,MULTI方法与最好的无监督方法和有监督方法相比,其预测性能平均有35.61%和38.70%的提高.在跨项目缺陷预测场景中,若基于ACC评测指标,MULTI方法与最好的无监督方法和有监督方法相比,其预测性能平均有22.42%和34.95%的提高.若基于POPT评测指标,MULTI方法与最好的无监督方法和有监督方法相比,其预测性能平均有11.45%和17.92%的提高.同时,基于Huang等人提出的PMI和IFA评测指标,MULTI方法的表现与代价感知的指标相比存在一定的折衷问题,但仍好于在ACC和POPT评测指标下表现最好的两种无监督学习方法.除此之外,将MULTI方法与最新提出的OneWay和CBS方法进行了比较,结果表明,MULTI方法在性能上仍然可以显著优于这两种方法.同时,基于F1评测指标的结果也验证了MULTI方法在预测性能上的显著优越性.最后,通过分析模型构建的时间开销,表明MULTI方法的模型构建开销对开发人员来说处于可接受的范围之内.

关 键 词:软件质量保障  软件缺陷预测  有监督学习  无监督学习  多目标优化
收稿时间:2017/12/18 0:00:00
修稿时间:2018/5/6 0:00:00

Empirical Studies on Multi-objective File-level Software Defect Prediction Method
CHEN Xiang,ZHAO Ying-Quan,GU Qing,NI Chao and WANG Zan.Empirical Studies on Multi-objective File-level Software Defect Prediction Method[J].Journal of Software,2019,30(12):3694-3713.
Authors:CHEN Xiang  ZHAO Ying-Quan  GU Qing  NI Chao and WANG Zan
Affiliation:School of Information Science and Technology, Nantong University, Nantong 226019, China;State Key Laboratory for Novel Software Technology(Nanjing University), Nanjing 210023, China;Guangxi Key Laboratory of Trusted Software(Guilin University of Electronic Technology), Guilin 541004, China,School of Information Science and Technology, Nantong University, Nantong 226019, China,State Key Laboratory for Novel Software Technology(Nanjing University), Nanjing 210023, China,State Key Laboratory for Novel Software Technology(Nanjing University), Nanjing 210023, China and School of Computer Software, Tianjin University, Tianjin 300072, China
Abstract:By mining software repositories, software defect prediction can construct models to predict potential defective modules of projects under testing in advance and then optimize the allocation of test resources. When considering effort-aware performance measures, the performance comparison between supervised methods and unsupervised methods has been a recent hot topic. In the recent study for file-level defect prediction problem, Yan et al. conducted empirical studies by using unsupervised and supervised methods considered by Yang et al. and obtained the conclusion that some unsupervised methods can outperform the supervised methods. The empirical studies based on 10 projects from the open source community were conducted. Final results show that under the within-project defect prediction scenario, MULTI method can improve 105.81% and 123.84% respectively on average when compared to the best unsupervised method and the best supervised method based on ACC performance measure. While MULTI method can improve 35.61% and 38.70% respectively on average when compared to the best unsupervised method and the best supervised method based on POPT performance measure. Under the cross- project defect prediction scenario, MULTI method can improve 22.42% and 34.95% respectively on average when compared to the best unsupervised method and the best supervised method based on ACC performance measure. While MULTI method can improve 11.45% and 17.92% respectively on average when compared to the best unsupervised method and the best supervised method based on POPT performance measure. Based on PMI and IFA performance measures proposed by Huang et al., it is found that MULTI method has the issue of trade-off, but it is still better than the best two unsupervised methods when considering ACC and POPT performance measures. Besides, MULTI method is compared with the recently proposed OneWay and CBS methods. The results show that MULTI performs significantly better than these two methods. Based on F1 performance measure, MULTI method also shows the superiority. Finally, the analysis on the time cost of the model construction shows that the overhead of MULTI method is acceptable.
Keywords:software quality assurance  software defect prediction  supervised learning  unsupervised learning  multi-objective optimization
点击此处可从《软件学报》浏览原始摘要信息
点击此处可从《软件学报》下载全文
设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号