[发明专利]基于最大互信息和改进Adaboost的软件缺陷数据特征选择方法在审
申请号: | 201610124371.X | 申请日: | 2016-03-04 |
公开(公告)号: | CN105760303A | 公开(公告)日: | 2016-07-13 |
发明(设计)人: | 李克文;邹晶杰 | 申请(专利权)人: | 中国石油大学(华东) |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 266580 山*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 最大 互信 改进 adaboost 软件 缺陷 数据 特征 选择 方法 | ||
技术领域
本发明属于软件工程应用领域,具体涉及一种基于最大互信息和改进Adaboost的软件缺陷数据特征选择方法。
背景技术
目前,软件系统规模日益增大并且其逻辑复杂性也日益增强,伴随着软件中存在缺陷的模块增加,这势必威胁软件的可靠性,影响软件质量,造成不可估量的损失。软件缺陷预测技术作为指导和评估软件测试工作的一种重要的途径,可以准确地预测软件缺陷的分布情况,这对于提高软件质量有着重要的现实意义。针对一个软件系统,合理地预测缺陷可以统计尚未发现但仍存在的缺陷数目及缺陷分布。软件缺陷预测的关键是发现有缺陷的模块,这本质上是一个二分类问题,即将软件模块分为“有缺陷”和“无缺陷”两类。分类的前提是进行特征选择,根据选择出的最优特征子集进行分类。Adaboost是一种性能良好的集成分类算法,也可用于特征选择。但在实际操作中,基于Adaboost的面向软件缺陷数据的特征选择存在以下两个问题:
(1)被选择出的软件特征存在大量冗余
在根据Adaboost进行软件缺陷数据的特征选择时,在每轮迭代中,要根据分类错误率挑选出最优的弱分类器,因为一个弱分类器对应一个软件特征,因此,该过程即为挑选最优特征的过程。具备良好分类性能的特征被逐一挑选出来,但这些特征间必然存在很强的相关性。2004年,美国宇航局公开了软件数据集(NASAMDP),他们从源代码中提取的各种软件特征,主要包括三大类--LOC,McCabe和Halstead。在每一类软件特征中,除了基本特征是从源代码中直接抽取,其他的特征都是由这些基本特征值间接计算获得。可见,每一类软件特征中,存在着较多的冗余特征,被选择出的特征间也存在着冗余。
(2)软件模块数据存在严重的不平衡性
在实际的软件模块中,“有缺陷”的模块(少数类)数量要远远少于“无缺陷”(多数类)的模块,因此,软件缺陷数据的分类也是不平衡数据的分类问题,这也是数据挖掘近年来的研究热点。而在Adaboost算法运行过程中,少数类样本和多数类样本被寄予相同的关注度,具体在算法实现时,Adaboost采用相同的权重更新策略。这就导致应当寄予高度关注的少数类(有缺陷模块)而被忽略,即使最终得到一个好的全局分类正确率,但对我们所关心的问题,有缺陷的模块是否被很好地检测出来而被忽略。
针对以上两个问题,研究出符合软件缺陷数据特性的特征选择方法,这对于提高软件缺陷数据的分类效果,意义重大。
发明内容
本发明的目的是解决基于Adaboost算法的软件缺陷数据特征选择方法所存在的问题:被选择出的特征存在冗余以及数据不平衡性,提供基于最大互信息和改进Adaboost的软件缺陷数据特征选择方法,以减少冗余特征,提高不平衡数据的分类效果。
为实现上述目的,本发明技术方案主要包括以下两个步骤:
A.从软件数据集中获取数据,对数据进行预处理
(1)数据包括软件特征集、软件模块,将软件模块数据分为训练集和测试集以备训练和测试。本发明采用十次交叉验证,将数据集分成十份,其中九份做训练,一份做准确度测试。并将数据做标签处理。
(2)根据已有知识将特征集分类,得到三个特征集,分别是LOC类,McCabe类和Halstead类。
B.根据最大互信息理论与改进的Adaboost进行面向软件缺陷数据的特征选择(1)初始化样本权重{D1(i)}及目标特征子集S
其中,n为样本个数。
(2)当t=1…toT,执行以下步骤:
(a)在基于权重的训练集上,训练弱分类器根据分类错误率εt挑选出最优的弱分类器,即选出候选最优特征
εt=∑Dt(i)I[ht(xi)≠yi]公式(3)
(b)判断候选最优特征f属于何种软件特征,L类,M类还是H类。然后根据互信息理论计算候选最优特征f与目标子集S中与f属于相同类别的特征间的最大相关性max-cor。
max-cor=max(MI(f,fp))公式(4)
其中,fp∈S,且fp和f是同类别软件特征,MI为两个变量间的互信息,如下公式
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国石油大学(华东),未经中国石油大学(华东)许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610124371.X/2.html,转载请声明来源钻瓜专利网。