[发明专利]一种基于Adaboost的软件缺陷预测方法有效
申请号: | 202010431568.4 | 申请日: | 2020-05-20 |
公开(公告)号: | CN111679971B | 公开(公告)日: | 2021-07-20 |
发明(设计)人: | 吴玉美;常硕;刘斌 | 申请(专利权)人: | 北京航空航天大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06K9/62 |
代理公司: | 北京慕达星云知识产权代理事务所(特殊普通合伙) 11465 | 代理人: | 曹鹏飞 |
地址: | 100191*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 adaboost 软件 缺陷 预测 方法 | ||
本发明公开了一种基于Adaboost的软件缺陷预测方法,首先将数据集中的大类样本按信息量大小分成若干个组,接着分别用每组数据训练当前集成分类器获得本轮样本惩罚参数;再用本组数据训练并由本轮得到的样本惩罚参数计算本轮迭代中的分类器和误差率,最终获得分类器。本发明在数据训练过程中样本惩罚参数只代表了本轮迭代的训练数据在当前集成分类器中是否能够被正确分类。并且在数据处理过程中基于朴素贝叶斯理论识别出并删除数据中信息量小的样本,这些样本是造成数据类不平衡、噪声等问题的主要原因,因此,本发明的数据处理方法有效地同时解决了类不平衡问题、噪声等数据分布问题,有效地提高了数据处理效率。
技术领域
本发明涉及软件可靠性与软件缺陷预测技术领域,更具体的说是涉及一种基于Adaboost的软件缺陷预测方法。
背景技术
由于软件产品抽象的特殊性,人们不能直观地找出并修改软件中潜藏的所有缺陷,保证软件产品的可靠性。要获得一个高可靠性的软件产品,只能通过控制软件的设计、开发、测试过程来实现。其中,软件测试是发现缺陷、提高软件可靠性的重要手段,全面详细的软件测试可以在软件投入使用前找出软件中85%~95%的缺陷,最大程度地保证软件可靠运行,降低由于软件故障或失效造成的财产损失甚至人员伤亡。然而,随着软件的体量越来越大,测试的难度也越来越高,有限的资源不能再支持测试人员全面详细地测试系统中的每一个软件模块。
软件缺陷预测领域中面对的重大阻碍之一即历史数据类不平衡分布问题。类不平衡问题是指,在软件缺陷预测的过程中,软件缺陷数据的质量直接影响着分类算法的效果,会导致关键模块不能得到充分的测试,一旦带有缺陷的软件投入使用,将引发严重后果。软件缺陷数据对分类算法最显著的影响就是数据类分布的不平衡问题,但也有研究表明阻碍分类结果进一步优化的数据问题并不单纯是由类不平衡一个问题造成的,样本类重叠、噪声、离群点等问题往往会伴随着数据类不平衡问题出现,并影响分类算法的分类效果。但是,现有数据处理方法都是对数据类不平衡分布、噪声处理等某一种问题提出的,不能够同时解决数据中的噪声、冗余等多种分布问题,因此,选择一种数据处理方法难以将历史数据处理达到最理想程度。
对于现有的基于Adaboost的缺陷预测方法,Adaboost算法是一种集成学习算法,其原理是运用加法模型和向前分布算法将一系列弱分类器线性相加,最终获取一个强分类器。分析Adaboost算法过程可知,尽管Adaboost在缺陷预测领域有较好的预测效果,但是算法训练的目标是使损失函数降到最低,从而得到最高的准确率,每次迭代使用相同的全体数据对弱分类器进行训练。这种方法可能存在的不足在于如果数据不平衡分布,被不平衡数据训练的弱分类器会轻易地受到不平衡分布影响,为了得到更高的准确率从而牺牲小类样本的查准率。同时随着迭代次数的增多,每次迭代产生的样本惩罚系数ωm只能表征样本当前形成的集成分类器分类的惩罚权重,也即每次迭代中大类样本与小类样本被错分惩罚系数相同,因此集成分类器整体对大类样本的倾斜不会随着迭代次数的增加而改善。由于在软件缺陷预测中,错误识别一个小类样本造成的损失远远大于错误识别一个大类样本,因此Adaboost中的这个问题正是软件缺陷预测中不能接受的。
因此,如何获得一种在样本量较小时能够在测试工作开始实施之前,对软件模块是否可能存在缺陷进行合理预测,重点关注预测中可能存在缺陷的模块,合理地分配测试资源,从而有效降低测试成本的软件缺陷预测方法是本领域技术人员亟需解决的问题。
发明内容
有鉴于此,本发明提供了一种基于Adaboost的软件缺陷预测方法,能够灵活应对数据集样本量等分布特征变化的方法,这种方法在克服朴素贝叶斯算法受数据分布影响大的同时,提升Adaboost分类算法对小类样本的查准能力。本发明的软件缺陷预测方法改变了Adaboost算法每轮迭代使用的训练数据,对算法本身的理论结构不产生影响,并且在数据处理过程中基于朴素贝叶斯理论识别出数据中信息量小的样本,有效地解决了类不平衡问题、噪声等数据分布问题,有效提高了数据处理效率。
为了实现上述目的,本发明采用如下技术方案:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京航空航天大学,未经北京航空航天大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010431568.4/2.html,转载请声明来源钻瓜专利网。