[发明专利]一种基于次数频谱与神经网络算法的软件缺陷定位方法有效

专利信息
申请号: 201910594565.X 申请日: 2019-07-03
公开(公告)号: CN110515826B 公开(公告)日: 2022-12-02
发明(设计)人: 王兴起;程瑞洁;陈滨;魏丹;方景龙 申请(专利权)人: 杭州电子科技大学
主分类号: G06F11/36 分类号: G06F11/36;G06N3/08
代理公司: 杭州君度专利代理事务所(特殊普通合伙) 33240 代理人: 杨舟涛
地址: 310018 浙*** 国省代码: 浙江;33
权利要求书: 查看更多 说明书: 查看更多
摘要: 发明公开了一种基于次数频谱与神经网络算法的软件缺陷定位方法,本发明所提出的方法考虑了由于循环等过程的存在引起语句多次执行,使用程序分支计数频谱对覆盖信息进行扩展,并将其作为BP神经网络的输入,实现运用机器学习的方法实现软件缺陷定位的目标。基于覆盖的程序缺陷定位方法利用覆盖信息来定位程序的缺陷语句。然而,这些方法可能会受到代码偶然性正确性的不利影响。偶然性正确是指在执行缺陷语句后,并没有触发错误的测试用例执行过程。本方法将会发生偶然性正确的测试用例的执行结果统一修正为错误的方法,在最大程度上避免偶然性正确对程序定位性能的影响。
搜索关键词: 一种 基于 次数 频谱 神经网络 算法 软件 缺陷 定位 方法
【主权项】:
1.一种基于次数频谱与神经网络算法的软件缺陷定位方法,其特征在于,具体包括以下步骤:/n步骤一:执行正确的测试用例,并得到执行结果;/n在不同待测程序中分别包含有正确的测试用例,运行完正确的测试用例并保存相应的执行结果;/n步骤二:执行所有的包含不同错误的测试用例集,并保存结果;/n不同的待测程序中分别包含有各自带有不同错误的测试用例集,执行所有的错误测试用例集,得到对应的结果;/n步骤三:根据程序运行,收集程序分支触发频谱和程序分支计数频谱;/n在Ubuntun系统中使用GCC对源程序进行编译处理,然后使用Gcov工具收集测试用例的语句覆盖信息和执行结果,得到程序分支触发频谱和程序语句计数频谱;其中程序分支触发频谱收集程序语句是否执行,程序分支触发频谱收集程序语句执行的次数;/n步骤四:把收集到的程序频谱输入神经网络中,训练得到一个稳定的神经网络模型;/n步骤五:设置虚拟单位矩阵,输出每条语句的可疑值;/n在神经网络中设置一个等同于程序语句的单位矩阵作为虚拟矩阵,得到每条语句的可疑值;/n步骤六:排除偶然性正确测试用例的干扰;/n在成功测试用例集中查找与失败测试用例语句覆盖信息完全一致的测试用例,称之为偶然性正确测试用例,把偶然性正确测试用例的执行结果改为失败,或者删除偶然性正确测试用例;/n步骤七:根据EXAM值对程序语句进行排序,从高到低依次检查程序语句是否包含错误,直到找到错误语句。/n
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州电子科技大学,未经杭州电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/patent/201910594565.X/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top