[发明专利]一种软件错误定位方法及装置在审
申请号: | 201810456715.6 | 申请日: | 2018-05-14 |
公开(公告)号: | CN108415848A | 公开(公告)日: | 2018-08-17 |
发明(设计)人: | 曹鹤玲;许德刚;邓淼磊;鞠小林;赵玉娟;赵晨阳;杨卫东;邓勇;宋炯炯 | 申请(专利权)人: | 河南工业大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 郑州睿信知识产权代理有限公司 41119 | 代理人: | 韩天宝 |
地址: | 450001 河南省郑州市高新技术*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 错误定位 可疑度 测试 关联代码 可疑代码 路径信息 源代码 代码检查 聚类算法 驱动程序 挖掘 漏报率 误报率 正确率 失败 聚类 去除 关联 成功 | ||
本发明涉及一种软件错误定位方法及装置,该方法以测试用例驱动程序的源代码,获取程序的执行路径信息和对应的执行结果,包括成功执行路径和失败执行路径;采用NJW谱聚类算法对程序的执行路径信息进行聚类划分,识别偶然正确性测试用例,并将识别出的偶然正确性测试用例进行去除;计算代码的可疑度,获取可疑度高于设定可疑度阈值的高可疑代码;在失败执行路径上挖掘出与所述高可疑代码相关联的关联代码;以挖掘出的关联代码作为代码检查对象,进行软件错误定位。本发明在偶然正确性测试用例识别方面具有较低的误报率和漏报率,提高了软件错误定位的正确率和效率。
技术领域
本发明属于软件分析与测试技术领域,具体涉及一种软件错误定位方法及装置。
背景技术
软件已成为现代信息社会的重要组成部分,是保证国家信息安全和软件产业健康发展的重要因素。软件质量的提升可以改善人们的生活和工作,对国民经济和信息产业发展有显著推动作用。随着软件规模和复杂程度的提高,软件错误出现的频率迅速上升,软件错误可能会给人类造成很大损失或灾难。
软件测试是为了显示程序中存在的错误而执行程序的过程,是软件生命周期中的重要环节;软件调试是为了找到错误并修复错误的过程。其中,错误定位旨在自动检测出软件存在的缺陷,是提高软件调试效率最有效的手段之一。
大部分的软件错误定位方法是基于动态测试的,大多利用程序覆盖信息和相应的执行结果,忽略了程序内部的结构信息和代码内在的逻辑关系,这导致错误定位精度不高。也有一些基于动态测试的错误定位方法,该类方法利用统计理论,对定位结果进行了精炼,只在一定程度上提高了错误定位的精度,但是,错误定位效率有待提高。
为了在提高错误定位的精度的同时也保证错误定位的效率,作者为曹鹤玲的博士学位论文《基于数据挖掘的软件错误定位方法研究》公开了一种软件错误定位方法,该方法针对偶然正确性影响软件错误定位效率的问题,提出了一种基于模糊C均值聚类的偶然正确性测试用例的识别方法。但是,该聚类算法的聚类分析能力较弱,并不能够对各种形状的数据处理,这将导致偶然正确性识别方面的效果较差,误报率和漏报率较高,从而使得软件错误定位的正确率较低;而且错误定位的时间较长,错误定位的效率较低。
发明内容
本发明的目的在于提供一种软件错误定位方法及装置,用以解决现有技术中软件错误定位的正确率和效率均较低的问题。
为解决上述技术问题,本发明的技术方案为:
本发明提供了一种软件错误定位方法,包括如下步骤:
以测试用例驱动程序的源代码,获取程序的执行路径信息和对应的执行结果,包括成功执行路径和失败执行路径;采用NJW谱聚类算法对程序的执行路径信息进行聚类划分,识别偶然正确性测试用例,并将识别出的偶然正确性测试用例进行去除;计算代码的可疑度,获取可疑度高于第一设定可疑度阈值的高可疑代码;在失败执行路径上挖掘出与所述高可疑代码相关联的关联代码;以挖掘出的关联代码作为代码检查对象,进行软件错误定位;其中,在执行NJW谱聚类算法时,将每个执行路径数据点进行Jaccard相似度计算,得到样本数据的相似度,由样本数据的相似度得到相似度矩阵,用以进行聚类计算。
本发明还提供了一种软件错误定位装置,包括处理器,所述处理器用于执行指令实现如下方法:
以测试用例驱动程序的源代码,获取程序的执行路径信息和对应的执行结果,包括成功执行路径和失败执行路径;采用NJW谱聚类算法对程序的执行路径信息进行聚类划分,识别偶然正确性测试用例,并将识别出的偶然正确性测试用例进行去除;计算代码的可疑度,获取可疑度高于第一设定可疑度阈值的高可疑代码;在失败执行路径上挖掘出与所述高可疑代码相关联的关联代码;以挖掘出的关联代码作为代码检查对象,进行软件错误定位;其中,在执行NJW谱聚类算法时,将每个执行路径数据点进行Jaccard相似度计算,得到样本数据的相似度,由样本数据的相似度得到相似度矩阵,用以进行聚类计算。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于河南工业大学,未经河南工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810456715.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:性能测试方法、装置、计算机设备及存储介质
- 下一篇:用于测试应用的方法和装置