推荐星级:
  • 1
  • 2
  • 3
  • 4
  • 5

一种半监督集成跨项目软件缺陷预测方法

更新时间:2019-12-25 12:36:46 大小:1M 上传用户:zhiyao6查看TA发布的资源 标签:缺陷预测 下载积分:1分 评价赚积分 (如何评价?) 打赏 收藏 评论(0) 举报

资料介绍

软件缺陷预测方法可以在项目的开发初期,通过预先识别出所有可能含有缺陷的软件模块来优化测试资源的分配.早期的缺陷预测研究大多集中于同项目缺陷预测,但同项目缺陷预测需要充足的历史数据,而在实际应用中,可能需要预测项目的历史数据较为稀缺,或这个项目是一个全新项目.因此,跨项目缺陷预测问题成为当前软件缺陷预测领域内的一个研究热点,其研究挑战在于源项目与目标项目数据集间存在的分布差异性以及数据集内存在的类不平衡问题.受到基于搜索的软件工程思想的启发,提出了一种基于搜索的半监督集成跨项目软件缺陷预测方法 S~3EL.该方法首先通过调整训练集中各类数据的分布比例,构建出多个朴素贝叶斯基分类器;随后,利用具有全局搜索能力的遗传算法,基于少量已标记目标实例对上述基分类器进行集成,并构建出最终的缺陷预测模型.在Promise数据集及AEEEM数据集上与多个经典的跨项目缺陷预测方法(Burak过滤法、Peters过滤法、TCA+、CODEP及HYDRA)进行了对比.以F1值作为评测指标,结果表明:在大部分情况下,S~3EL方法可以取得最好的预测性能.


部分文件列表

文件名 大小
一种半监督集成跨项目软件缺陷预测方法.pdf 1M

部分页面预览

(完整内容请下载后查看)
软件学报 ISSN 1000-9825, CODEN RUXUEW  
Journal of Software,2017,28(6):14551473 [doi: 10.13328/j.cnki.jos.005228]  
©中国科学院软件研究所版权所有.  
E-mail:  
Tel: +86-10-62562563  
一种半监督集成跨项目软件缺陷预测方法∗  
1
1
2
1
1
何吉元  
,
孟昭鹏  
,
,
,
樊向宇  
1(天津大学 软件学院 软件工程系,天津 300072)  
2(南通大学 计算机科学与技术学院,江苏 南通 226019)  
通讯作者: 王赞, E-mail:  
: 软件缺陷预测方法可以在项目的开发初期,通过预先识别出所有可能含有缺陷的软件模块来优化测试资  
源的分配.早期的缺陷预测研究大多集中于同项目缺陷预测,但同项目缺陷预测需要充足的历史数据,而在实际应用  
,可能需要预测项目的历史数据较为稀缺,或这个项目是一个全新项目.因此,跨项目缺陷预测问题成为当前软件  
缺陷预测领域内的一个研究热点,其研究挑战在于源项目与目标项目数据集间存在的分布差异性以及数据集内存  
在的类不平衡问题.受到基于搜索的软件工程思想的启发,提出了一种基于搜索的半监督集成跨项目软件缺陷预测  
方法 S3EL.该方法首先通过调整训练集中各类数据的分布比例,构建出多个朴素贝叶斯基分类器;随后,利用具有全  
局搜索能力的遗传算法,基于少量已标记目标实例对上述基分类器进行集成,并构建出最终的缺陷预测模型.在  
Promise 数据集及 AEEEM 数据集上与多个经典的跨项目缺陷预测方法(Burak 过滤法、Peters 过滤法、TCA+、  
CODEP HYDRA)进行了对比.F1 值作为评测指标,结果表明:在大部分情况下,S3EL 方法可以取得最好的预测  
性能.  
关键词: 跨项目软件缺陷预测;半监督学习;集成学习;遗传算法;朴素贝叶斯  
中图法分类号: TP311  
中文引用格式: 吉元,昭鹏,,,向宇.种半监督集成跨项目软件缺陷预测方法.件学报,2017,28(6):  
1455
英文引用格式: He JY, Meng ZP, Chen X, Wang Z, Fan XY. Semi-Supervised ensemble learning approach for cross-project  
defect prediction. Ruan Jian Xue Bao/Journal of Software, 2017,28(6):1455
5228.htm  
Semi-Supervised Ensemble Learning Approach for Cross-Project Defect Prediction  
HE Ji-Yuan1, MENG Zhao-Peng1, CHEN Xiang2, WANG Zan1, FAN Xiang-Yu1  
1(Department of Software Engineering, School of Computer Software, Tianjin University, Tianjin 300072, China)  
2(School of Computer Science and Technology, Nantong University, Nantong 226019, China)  
Abstract: Software defect prediction can help developers to optimize the distribution of test resources by predicting whether or not a  
software module is defect-prone. Most defect prediction researches focus on within-project defect prediction which needs sufficient  
training data from the same project. However, in real software development, a project which needs defect prediction is always new or  
without any historical data. Therefore cross-project defect prediction becomes a hot topic which uses training data from several projects  
and performs prediction on another one. The main research challenges in cross-project defect prediction are the variety of distribution  
from source project to target project and class imbalance problem among datasets. Inspired by search based software engineering, this  
paper proposes a search based semi-supervised ensemble learning approach S3EL. By adjusting the ratio of distribution in training dataset,  
基金项目: 国家自然科学基金(61202030, 61373012, 61202006, 71502125)  
Foundation item: National Natural Science Foundation of China (61202030, 61373012, 61202006, 71502125)  
收稿时间: 2016-07-28; 修改时间: 2016-10-11; 采用时间: 2016-12-22; jos 在线出版时间: 2017-02-20  
CNKI 网络优先出版: 2017-02-20 15:37:43, http://www.cnki.net/kcms/detail/11.2560.TP.20170220.1537.035.html  
1456  
Journal of Software 软件学报 Vol.28, No.6, June 2017  
several Naïve Bayes classifiers are built as the base learners, then a small amount of labeled target instances and genetic algorithm are  
used to combine these base classifiers as a final prediction model. S3EL is compared with other up-to-date classical cross-project defect  
prediction approaches (such as Burak filter, Peters filter, TCA+, CODEP and HYDRA) on AEEEM and Promise dataset. Final results  
show that S3EL has the best prediction performance in most cases under the F1 measure.  
Key words: cross-project defect prediction; semi-supervised learning, ensemble learning; genetic algorithm; Naïve Bayes  
软件内部隐藏的缺陷可能导致其在实际运行时产生不可预料的后果,严重影响软件质量甚至有时会危及  
到人们的生命安全.软件缺陷预测(software defect prediction)方法通过挖掘软件历史仓库(software historical  
repositories)、构建缺陷预测模型,从而对新的程序模块进行缺陷预测.该方法可以为软件开发过程提供决策支  
,:在项目的开发初期,通过预先识别出所有可能含有缺陷的软件模块,可以针对性地对这些程序模块设计  
测试用例,以确保充分测试,从而提高软件质量.程序模块根据实际测试需求可设置为包、文件、类或函数等.目  
,缺陷预测模型在构建时常采用支持向量机[1]Logistic 回归[2]、朴素贝叶斯[3]、决策树[4]、集成学习[5]等常  
见的机器学习方法.  
软件缺陷预测是当前大数据技术在软件工程领域的重点研究方向之一[6],早期大多数研究都集中于同项  
目软件缺陷预测(within-project defect prediction),:使用同一项目中的部分已标记程序模块来构建预测模型,  
并对项目中的剩余模块进行缺陷预测.同项目缺陷预测需要充足的历史数据进行训练,但在实际应用中,通常缺  
少足够的历史数据针对同一项目来构建缺陷预测模型,或需要对一个没有训练数据的全新项目进行缺陷预测.  
因此,研究者们开始关注跨项目软件缺陷预测(cross-project defect prediction)问题.跨项目软件缺陷预测使用其  
他项目(即源项目)的训练数据来构建预测模型,并对一个全新的项目(即目标项目)进行缺陷预测[7].跨项目缺陷  
预测的研究重点在于如何利用已有源项目的大量标记数据解决具有不同分布甚至不同度量特征的目标项目的  
缺陷预测问题.但已有的跨项目缺陷预测方法的性能通常要弱于同项目缺陷预测的性能,主要的原因是:(1) 大  
部分情况下,不同项目的度量元取值分布具有显著差异性;(2) 缺陷预测数据集的内部存在类不平衡问题.  
由于不同项目的开发人员用领域程语言等并不相同,源项目与目标项目的数据集间具有较大的分  
布差异[8],不能满足独立同分布假设,导致根据源项目训练出的预测模型在目标项目上不能取得较好的预测性  
[9,10].针对这一问题,研究人员一般借助迁移学习(transfer learning)来缓解数据取值分布的差异性[11,12].迁移学  
习是对源项目数据集进行转换、学习并获取与目标项目最为相关的知识来用于模型构建的方法.  
类不平衡问题是缺陷预测数据集中普遍存在的问题,原因在于缺陷在软件模块中的分布大致符合帕累托  
原则[13],,大部分(80%)的缺陷集中于很少(20%)的程序模块内[14].因此在搜集的数据集中,非缺陷模块(多  
数类)的数量要远超过缺陷模块(少数类)的数量,导致模型在预测时偏向多数类,而对少数类的预测精度较低.但  
在实际应用中,对缺陷模块的错误预测代价远高于对非缺陷模块的错误预测代价,因此,如何缓解源项目数据集  
中的类不平衡问题也成为跨项目缺陷预测研究中的一个重要问题.  
基于搜索的软件工程(search based software engineering)是由 Harman 教授提出的概念[15],其将传统的软件  
工程问题转化为基于智能搜索的优化问题,借助遗传算法等元启发式搜索算法(meta-heuristic search  
algorithms)在问题的所有可行解空间中搜索最优解或近似最优解的研究方法.受到该领域思想的启发,本文提  
出一种基于搜索的半监督集成跨项目缺陷预测方法 S3EL(search based semi-supervised ensemble learning).该方  
法综合考虑了数据分布不一致问题及类不平衡问题对跨项目软件缺陷预测性能的影响,采用朴素贝叶斯分类  
器构建基分类器,并借助遗传算法的全局搜索能力进行集成学习,构建最终的预测模型.实验结果表明,该方法  
在多个公开数据集上均能取得较好的预测性能.本文的主要贡献总结如下.  
(1) S3EL 提出一种基分类器构建方法,:根据各维特征均值对源项目数据进行划分,分别训练两个子分  
类器作为一个基分类器.借助该步骤,可以有效缓解类不平衡问题,并从训练数据角度提高基分类器  
的差异性.随后,借助具有全局搜索能力的遗传算法,对基分类器进行集成,,基于目标项目中的少数  
已标记实例来搜索出基分类器的最优组合权重;  
(2) 基于 AEEEM Promise 数据集,S3EL 方法与 Burak 过滤法[16]Peters 过滤法[17]TCA+方  

全部评论(0)

暂无评论

上传资源 上传优质资源有赏金

  • 打赏
  • 30日榜单

推荐下载