收藏本站
收藏 | 手机打开
二维码
手机客户端打开本文

基于机器学习的软件缺陷预测方法研究

张志武  
【摘要】:随着信息技术的不断发展,信息安全面临的挑战日益严峻,其中软件安全引起人们越来越多的重视。作为软件安全风险的主要根源之一,软件缺陷不仅可威胁计算机信息系统的安全性和稳定性,甚至可能被黑客利用而恶意入侵。软件缺陷预测是软件工程领域中与软件质量保证密切相关的重要的研究课题,它对提高软件系统质量和优化测试资源分配都有重要意义。在软件工程数据挖掘领域中,基于机器学习的静态软件缺陷预测根据软件历史仓库数据,采用缺陷相关的度量对软件代码或开发过程进行分析,利用机器学习方法来预测软件项目中待测试程序模块的缺陷倾向性或缺陷数量。影响缺陷预测性能的主要因素有:度量元的设计、缺陷预测模型的构建以及缺陷预测数据集的相关处理。本文从机器学习的角度针对上述影响因素对软件缺陷预测方法进行了系统的研究,主要研究成果总结如下:(一)基于联合表示的软件缺陷数据特征选择与分类提出了基于联合表示值的过滤型软件缺陷数据特征选择方法(CRS)和基于联合表示的软件缺陷预测分类方法(CSDP)。为消除软件缺陷数据集中缺陷度量元间的冗余性和提高特征选择方法的计算效率,CRS利用联合表示和l_2图构建缺陷数据关系图的邻接关系和权重,在考虑联合表示保留能力的同时考虑数据方差,通过联合表示值的大小排序并迭代选择缺陷数据特征。CSDP首先对无缺陷训练数据集进行Laplace Score采样以构建类别平衡的训练数据,接着利用联合表示求得查询样本的投影矩阵,最后利用基于正则化最小二乘的联合表示分类方法构建软件缺陷预测器。CSDP采用_2l范数正则化取代_1l范数正则化,进一步增强稀疏分类的效率、降低计算复杂度;CSDP中的联合表示分类器既利用类特定的表示残差的鉴别能力,又利用l_2模“稀疏项”的鉴别信息,分类性能得到提升。在广泛使用的软件缺陷预测数据集上的实验结果表明了两种方法的有效性。(二)基于字典学习的软件缺陷预测将以预测缺陷倾向性为目标的软件缺陷预测看成是一个二分类问题,在分类预测时引入字典学习技术,针对软件缺陷预测的代价敏感性与类不平衡性特征、缺陷数据的逐步积累增量式学习和半监督场景下的缺陷预测的问题,分别提出了三个字典学习软件缺陷预测方法,即代价敏感鉴别字典学习(CDDL)、类特定增量字典学习(CIDL)和基于二次学习的半监督字典学习(TLSDL)。CDDL在构造初始字典原子时,通过PCA处理消除了类不平衡问题,利用软件模块间的相似性,设计出有鉴别能力的字典,同时考虑软件缺陷预测的风险成本,在鉴别字典学习缺陷预测模型中引入代价敏感学习。CIDL针对传统字典学习在大数据集上批量学习时计算代价过高的问题,设计了增量式字典学习方法。在初始集上采用类特定字典学习,学得的有监督字典有利于分类预测,在增量集上采用互信息最大原则选取增量字典原子,有利于充分利用增量数据的互补信息。为了解决在有标记样本较少而无标记样本丰富的半监督场景下构建有效的缺陷字典学习模型困难的问题,TLSDL采用二次学习框架,在第一阶段学习中,大量无标记样本通过概率软标记标注扩充到有标记训练样本集中,实现半监督学习的扩展,在第二阶段学习中,通过鉴别字典学习,实现稀疏表示分类和预测性能的提升。实验结果表明了三种字典学习方法的有效性。(三)基于图学习的半监督软件缺陷预测为了充分表示软件缺陷数据间潜在的聚类关系,提出了一个具备稀疏性、高鉴别能力和自适应近邻的信息图——非负稀疏图(NSG)的构建方法,NSG在稀疏图的学习过程中加入了非负限制,图上结点的连接关系和权重在非负稀疏编码时同时得到。在NSG上提出了两个基于图学习的半监督缺陷预测方法:基于非负稀疏图的协同训练缺陷预测方法(NSGCT)和基于非负稀疏图的标记扩散缺陷预测方法(NSGLP)。NSGCT方法结合基于图学习的方法和基于分歧的方法的优点,对无标记数据进行显式置信度估计,减少了噪声数据的引入,提高了半监督协同训练算法的性能。NSGLP方法采用拉普拉斯采样技术对数据集进行不平衡处理,利用NSG表示缺陷数据间的关系,在NSG上利用标记扩散半监督学习方法迭代预测无标记模块的类型标记,NSGLP通过不平衡处理和有效构建信息图提升了半监督缺陷预测的性能。实验结果表明了两种基于图的半监督方法的有效性。


知网文化
【相似文献】
中国期刊全文数据库 前16条
1 王铁建;吴飞;荆晓远;;基于多核字典学习的软件缺陷预测[J];计算机科学;2017年12期
2 刘柯宏;刘晓建;;开源程序的软件缺陷分布特征的量化分析研究[J];电子元器件与信息技术;2017年04期
3 胡柳;邓杰;赵正伟;李瑞;;一种基于关联规则的网络软件缺陷预测方法[J];信息技术与网络安全;2018年04期
4 杨开懋;施小逸;汤恩义;;基于爬虫的软件缺陷预测[J];南昌教育学院学报;2016年06期
5 傅艺绮;董威;尹良泽;杜雨晴;;基于组合机器学习算法的软件缺陷预测模型[J];计算机研究与发展;2017年03期
6 甘露;臧洌;李航;;深度信念网软件缺陷预测模型[J];计算机科学;2017年04期
7 张志武;荆晓远;吴飞;;基于二次学习的半监督字典学习软件缺陷预测[J];模式识别与人工智能;2017年03期
8 李勇;黄志球;王勇;房丙午;;数据驱动的软件缺陷预测研究综述[J];电子学报;2017年04期
9 朱朝阳;陈相舟;闫龙;张信明;;基于主成分分析法的人工免疫识别软件缺陷预测模型研究[J];计算机科学;2017年S1期
10 孟浩;邓惠文;黄永兢;;基于软件生命周期的软件缺陷预防流程研究[J];电脑编程技巧与维护;2017年12期
11 王铁建;吴飞;荆晓远;;核字典学习在软件缺陷预测中的应用[J];小型微型计算机系统;2017年07期
12 王铁建;吴飞;荆晓远;;基于半监督集成学习的软件缺陷预测[J];模式识别与人工智能;2017年07期
13 韦良芬;;基于机器学习的软件缺陷预测技术研究[J];长春大学学报;2017年10期
14 杨泽辉;李琳;乔冰琴;;基于改进蚁群算法在软件缺陷预测中的应用[J];太原科技大学学报;2016年01期
15 黎铭;霍轩;;半监督软件缺陷挖掘研究综述[J];数据采集与处理;2016年01期
16 程俊;张雪莹;李瑞贤;;基于元学习的软件缺陷预测推荐方法[J];中国电子科学研究院学报;2015年06期
中国重要会议论文全文数据库 前10条
1 赵修湘;石勇;刘莹;张玲玲;;文本分类在软件缺陷管理中的应用[A];第四届(2009)中国管理学年会——管理科学与工程分会场论文集[C];2009年
2 赵亮;侯金宝;;文件和包层次的软件缺陷预测研究[A];第十四届全国容错计算学术会议(CFTC'2011)论文集[C];2011年
3 于秀山;王广俭;;软件缺陷管理[A];中国电子学会可靠性分会第十三届学术年会论文选[C];2006年
4 寇纲;彭怡;石勇;;基于数据挖掘的软件缺陷度量评估管理及研究现状综述[A];第三届(2008)中国管理学年会——信息管理分会场论文集[C];2008年
5 李立清;;用软件缺陷数据进行缺陷预测[A];中国工程物理研究院科技年报(2005)[C];2005年
6 张志刚;赵静;张苓琳;;基于语义分析的软件缺陷自动检测技术研究[A];第五届中国指挥控制大会论文集[C];2017年
7 高通;焦彦平;龚波;;基于曲线拟合的软件缺陷排除成本预测[A];2010年全国通信安全学术会议论文集[C];2010年
8 涂亚明;毛军鹏;余静;尹磊;;系统测试阶段的软件缺陷预测模型分析[A];第六届中国测试学术会议论文集[C];2010年
9 宋建伟;谢璟;;软件缺陷管理对改进软件测试与维护的研究与应用[A];2016年MIS/S&A学术交流会议论文集[C];2016年
10 刘峻宇;李强;余祥;何海洋;;基于符号执行的指挥信息系统软件缺陷检测技术[A];2014第二届中国指挥控制大会论文集(上)[C];2014年
中国博士学位论文全文数据库 前10条
1 程铭;软件缺陷预测若干关键技术研究[D];武汉大学;2016年
2 张志武;基于机器学习的软件缺陷预测方法研究[D];南京邮电大学;2018年
3 张芸;软件工程缺陷分析关键技术研究[D];浙江大学;2018年
4 李志强;异质软件缺陷预测技术研究[D];武汉大学;2018年
5 王铁建;基于度量的软件缺陷预测研究[D];武汉大学;2018年
6 陈媛;基于数据挖掘的软件缺陷预测技术研究[D];中国科学院研究生院(长春光学精密机械与物理研究所);2012年
7 张凯;软件缺陷混沌分形描述与软件质量进化度量的研究[D];武汉理工大学;2005年
8 陈琳;基于机器学习的软件缺陷预测研究[D];重庆大学;2016年
9 于巧;基于机器学习的软件缺陷预测方法研究[D];中国矿业大学;2017年
10 马樱;基于机器学习的软件缺陷预测技术研究[D];电子科技大学;2012年
中国硕士学位论文全文数据库 前10条
1 沈鹏;基于机器学习的软件缺陷预测方法研究[D];西南大学;2019年
2 向威;代价敏感的混合软件缺陷预测模型[D];云南大学;2018年
3 马彬;基于规则学习和朴素贝叶斯算法的软件缺陷预测模型研究[D];吉林大学;2019年
4 陈顺义;基于数据度量和多目标决策的软件缺陷技术研究[D];华侨大学;2018年
5 刘娇;软件缺陷修复者推荐方法的研究[D];重庆邮电大学;2018年
6 刘亚娜;基于正则化交叉验证的静态软件缺陷预测方法研究[D];山西大学;2019年
7 吴芳芳;基于主动学习的软件缺陷预测方法研究[D];南京大学;2019年
8 李恒毅;面向缺陷挖掘的代码表示学习[D];南京大学;2019年
9 包月青;基于机器学习的软件缺陷预测研究[D];浙江工业大学;2018年
10 邹晶杰;面向软件缺陷数据的特征选择方法研究和应用[D];中国石油大学(华东);2017年
中国重要报纸全文数据库 前10条
1 谢敏、戴金龙;追踪每一个软件缺陷[N];计算机世界;2005年
2 沈雪芳 译;修复软件缺陷的成本[N];计算机世界;2006年
3 金晨;摩托罗拉V8088存在软件缺陷[N];重庆商报;2000年
4 ;Microsoft计划推出Windows Server SP1[N];计算机世界;2004年
5 中国软件评测中心、中科软件股份有限公司;缺陷生命周期控制方法[N];中国计算机报;2003年
6 学健;可怕的不是缺陷本身[N];计算机世界;2001年
7 聪之;手机质量如何界定[N];中国电子报;2003年
8 冠群电脑(中国)有限公司;安全管理 策略先行[N];网络世界;2002年
9 ;Firefox、IE中发现缺陷[N];计算机世界;2005年
10 ;歧视消费者是品牌的自我贬损[N];中国企业报;2006年
 快捷付款方式  订购知网充值卡  订购热线  帮助中心
  • 400-819-9993
  • 010-62982499
  • 010-62783978