[发明专利]基于核谱映射迁移集成的异构跨项目软件缺陷预测方法有效
申请号: | 201910824735.9 | 申请日: | 2019-09-02 |
公开(公告)号: | CN110659207B | 公开(公告)日: | 2020-09-08 |
发明(设计)人: | 王世海;李成群;何俊秀;秦庆强;童浩楠 | 申请(专利权)人: | 北京航空航天大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06K9/62 |
代理公司: | 北京慕达星云知识产权代理事务所(特殊普通合伙) 11465 | 代理人: | 曹鹏飞 |
地址: | 100191*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 映射 迁移 集成 异构跨 项目 软件 缺陷 预测 方法 | ||
本发明公开了一种基于核谱映射迁移集成的异构跨项目软件缺陷预测方法,包括基于过抽样的非平衡学习过程对源数据进行预处理;所述源数据为软件项目的历史缺陷数据;根据所述源数据与目标数据分布的差异信息,以及谱映射造成的信息损失,构建目标函数;所述目标数据为待预测的异构跨项目软件;通过多核学习把原始空间映射到多个高维空间,在每个高维空间上对所述目标函数进行最优化以寻找最优公共子空间,在每个公共子空间上训练一个分类器;利用集成学习把所有所述分类器进行综合集成,生成预测模型;根据所述预测模型预测所述目标数据的标签。该方法具有较高的缺陷预测准确率,有利于提高软件测试的工作效率。
技术领域
本发明涉及软件缺陷预测技术领域,特别涉及一种基于核谱映射迁移集成的异构跨项目软件缺陷预测方法。
背景技术
软件缺陷预测是指利用给定的软件项目的历史缺陷数据,通过统计或机器学习的方法寻找软件模块度量元与软件缺陷之间的映射关系,然后对该项目的新模块的缺陷状况进行预测。如果没有足够的历史缺陷数据,则需要利用跨项目的软件缺陷预测技术。跨项目软件缺陷预测是指利用其他软件项目的历史缺陷数据(源数据)建立预测模型,然后用于新的软件项目(目标数据),对其缺陷状况进行预测。跨项目软件缺陷预测可分为同构跨项目缺陷预测和异构跨项目缺陷预测。其中,前者假设源数据与目标数据的度量元集完全相同(比如,度量元的数目、类型、以及顺序);而后者则假设两者的度量元集不相同。同构跨项目软件缺陷预测模型的构建难度远低于异构跨项目软件缺陷预测模型的构建难度。
现有的异构跨项目缺陷预测方法主要思想是通过特征空间变换寻找最优的公共特征子空间以减小源数据与目标数据之间的分布差异。但是现有方法往往存在如下问题:
(1)忽视源数据的分布不平衡性的影响;
(2)忽视特征空间变换前后数据集原始特征的信息损失问题;
(3)没考虑通过多个子空间去覆盖最优的公共特征子空间。
因此,上述问题导致现有预测方法的预测性能难以达到较为理想的预测效果。
发明内容
鉴于上述问题,本发明提供了一种基于核谱映射迁移集成的异构跨项目软件缺陷预测方法,该方法引入抽样层次的非平衡学习、考虑分布差异和信息损失,构造新的优化目标函数;并引入多核学习和集成学习,针对异构跨项目的软件缺陷预测精准度更高。
本发明实施例提供一种基于核谱映射迁移集成的异构跨项目软件缺陷预测方法,包括:
S1、基于过抽样的非平衡学习过程对源数据进行预处理;所述源数据为软件项目的历史缺陷数据;
S2、根据所述源数据与目标数据分布的差异信息,以及谱映射造成的信息损失,构建目标函数;所述目标数据为待预测的异构跨项目软件;
S3、通过多核学习把原始空间映射到多个高维空间,在每个高维空间上对所述目标函数进行最优化以寻找最优公共子空间,在每个公共子空间上训练一个分类器;
S4、利用集成学习把所有所述分类器进行综合集成,生成预测模型;根据所述预测模型预测所述目标数据的标签。
在一个实施例中,所述步骤S1包括:
S11、根据预设理想的正负样本比率ratio,计算原始少数类样本集中每个少数类样本需要生成的新样本的数目N,N=1;所述样本集中假设样本量为T;
S12、对于每一个少数类样本,以欧氏距离为标准计算其最近的k个近邻;
S13、如果N大于零,则对于原始少数类样本集中的每一个少数类样本xi,从其k个近邻中随机选择一个近邻xneig,按如下方式生成一个相应的新的少数类样本xnew:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京航空航天大学,未经北京航空航天大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910824735.9/2.html,转载请声明来源钻瓜专利网。