[发明专利]基于搜索的代价敏感超图学习的软件缺陷预测方法及系统有效
申请号: | 201810178494.0 | 申请日: | 2018-03-05 |
公开(公告)号: | CN108334455B | 公开(公告)日: | 2020-06-26 |
发明(设计)人: | 高跃;王楠;赵曦滨 | 申请(专利权)人: | 清华大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京律谱知识产权代理事务所(普通合伙) 11457 | 代理人: | 黄云铎 |
地址: | 100084*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 搜索 代价 敏感 超图 学习 软件 缺陷 预测 方法 系统 | ||
本发明提供了一种基于搜索的代价敏感超图学习的软件缺陷预测方法,所述方法包括:输入原始的训练和测试数据,获得软件模块的特征及相应的软件模块标签;对软件数据进行特征提取,将数据特征转换到新的特征空间;在新的特征空间中,基于测试数据选取与相应测试数据距离最近的训练数据;利用选取的训练数据和测试数据构建超图结构,超图的连接是根据软件模块在转换软件模块特征空间的距离来测算,不断优化错分代价敏感的测试数据总代价,并且优化超图结构;利用学习到的转换向量可以用来计算测试模块是否含有错误。
技术领域
本发明属于软件错误预测领域,具体涉及利用超图学习,构建基于搜 索代价敏感方法进行软件错误识别的软件错误预测方法及系统。
背景技术
随着网络技术的快速发展,对于各种软件系统的需求量急速增加,对 软件功能的要求也不断提升,由于软件系统规模的日益增大及其逻辑复杂 性日益增强,软件中潜在的缺陷必定会影响软件的质量、延长开发周期和 增加开发成本。软件错误预测技术目标在于发现软件中的错误模块,提高 软件系统质量。在具体的软件系统实现过程中,为了能够对测试的工作结 果进行准确客观的评估,权衡潜在缺陷风险和测试成本之间的关系,控制软件开发质量和开发成本,及时、准确的对软件中的缺陷进行预测显得十 分重要。
目前,软件错误预测面临的主要问题为:
1)已标记软件错误模块数据过少,
2)软件无错模块和软件错误模块数据量不平衡
3)软件模块特征与软件模块标签之间度量关系不明确。
而目前现有的软件错误预测方法有限,并且都无法解决上述问题。
发明内容
针对现有技术中存在的上述问题,本发明提出了一种新型的软件错误 预测方法及系统。在本发明的方法和系统中引入错分代价,由于将错误模 块错分成无错模块通常意味着更糟糕的后果,所以针对错误模块以及无错 模块错分产生的不同影响,赋予两种错分情况不同的错分代价;针对训练 数据不平衡的问题,本系统通过基于测试样例进行训练数据检索,选择有 利于进行分类的有错和无错模块训练数据集。基于选择的训练数据集,为了更加全面的挖掘数据之间的关系,利用超图模型充分描述训练数据与测 试数据之间关系,并通过半监督方式对软件模块进行分类,从而提高软件 错误预测的准确性。
具体而言,本发明提供了一种基于搜索的代价敏感超图学习的软件缺 陷预测方法,其特征在于,所述方法包括下述步骤:
步骤S1、输入原始的训练和测试数据,包括软件模块的特征及相应的 软件模块标签;
步骤S2、对软件数据进行特征提取,将数据特征转换到新的特征空间;
步骤S3、在新的特征空间中,基于测试数据选取与相应测试数据距离 较近的训练数据,所述训练数据中包括软件错误模块和无错模块;
步骤S4、利用选取的训练数据和测试数据构建超图结构,超图的连接 是根据在转换后的特征空间中不同软件模块的距离来测算的,不断优化错 分代价敏感的测试数据集的总代价,并且优化超图结构,获得转换向量;
步骤S5、利用学习到的转换向量可以用来计算测试模块是否含有错 误。
在一种优选实现方式中,所述步骤S2包括通过CSLS方法对软件数 据进行特征提取。
在另一种优选实现方式中,所述步骤S2包括通过下式进行特征提取:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于清华大学,未经清华大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810178494.0/2.html,转载请声明来源钻瓜专利网。