[发明专利]基于搜索的代价敏感超图学习的软件缺陷预测方法及系统有效
申请号: | 201810178494.0 | 申请日: | 2018-03-05 |
公开(公告)号: | CN108334455B | 公开(公告)日: | 2020-06-26 |
发明(设计)人: | 高跃;王楠;赵曦滨 | 申请(专利权)人: | 清华大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京律谱知识产权代理事务所(普通合伙) 11457 | 代理人: | 黄云铎 |
地址: | 100084*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 搜索 代价 敏感 超图 学习 软件 缺陷 预测 方法 系统 | ||
1.一种基于搜索的代价敏感超图学习的软件缺陷预测方法,其特征在于,所述方法包括下述步骤:
步骤S1、输入原始的训练和测试数据,包括软件模块的特征及相应的软件模块标签;
步骤S2、对软件数据进行特征提取,将数据特征转换到新的特征空间;
步骤S3、在新的特征空间中,基于测试数据选取与相应测试数据距离较近的训练数据,所述训练数据中包括软件错误模块和无错模块;
步骤S4、利用测试数据和选取的训练数据构建超图结构,超图的连接是根据在转换后的特征空间中不同软件模块的距离来测算的,不断优化错分代价敏感的测试数据集的总代价,并且优化超图结构,获得转换向量;
步骤S5、利用学习到的转换向量可以用来计算测试模块是否含有错误,
其中,所述步骤S2包括通过下式进行特征提取:
其中,Ns表示训练样本的个数,表示第i个样本的第k个特征,表示第k个特征的平均值,Ds是对角矩阵,其矩阵元素其中Sij表示样本i和j之间的关系,zi表示第i个样本的标签,cost(zi,zj)表示区分zi类和zj的代价,φ(zi)表示第zi个样本的重要性。
2.根据权利要求1所述的基于搜索的代价敏感超图学习的软件缺陷预测方法,其特征在于,所述步骤S2包括通过CSLS方法对软件数据进行特征提取。
3.根据权利要求1所述的基于搜索的代价敏感超图学习的软件缺陷预测方法,其特征在于,
所述步骤S3还包括设定无错样本和有错样本的比例。
4.根据权利要求1所述的基于搜索的代价敏感超图学习的软件缺陷预测方法,其特征在于,所述步骤S3还包括对于任意一个待测试样本,计算待测试样本与训练样本之间的欧式距离,分别记录最近的若干个软件无错样本和软件错误样本,并且对所有的待测数据集执行搜索后,将选取的训练数据集结果进行综合排序,得到最终选取的训练数据。
5.根据权利要求1所述的基于搜索的代价敏感超图学习的软件缺陷预测方法,其特征在于,
所述步骤S4还包括通过下式来描述超图的连接关系:
其中vcentral表示超图的中心点,表示数据集中每两个点之间距离的平均值,表示在超边ep上与vcentral相连的vi点与vcentral之间距离的平方,α为调节参数。
6.一种基于搜索的代价敏感超图学习的软件缺陷预测系统,其特征在于,所述软件缺陷预测系统包括:
数据获取模块、特征提取模块、训练数据搜索模块、超图构建模块以及软件错误预测模块,
所述数据获取模块用于获取原始的训练和测试软件数据;
所述特征提取模块用于提取软件模块的特征及相应的软件模块标签;
所述训练数据搜索模块基于测试数据选取与相应测试数据距离最近的训练数据,所述训练数据中包括软件错误模块和无错模块;
所述超图构建模块用于利用测试数据和选取的训练数据构建超图结构,并进行代价敏感学习;
所述软件错误预测模块利用代价敏感学习方式优化后的超图结构计算测试模块是否含有错误
其中,通过下式进行特征提取:
其中,Ns表示训练样本的个数,表示第i个样本的第k个特征,表示第k个特征的平均值,Ds是对角矩阵,其矩阵元素其中Sij表示样本i和j之间的关系,zi表示第i个样本的标签,cost(zi,zj)表示区分zi类和zj的代价,φ(zi)表示第zi个样本的重要性。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于清华大学,未经清华大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810178494.0/1.html,转载请声明来源钻瓜专利网。