[发明专利]一种改进的基于gSpan算法的软件缺陷定位方法在审

专利信息
申请号: 202111340635.2 申请日: 2021-11-12
公开(公告)号: CN114048133A 公开(公告)日: 2022-02-15
发明(设计)人: 王俊恺 申请(专利权)人: 辽宁工程技术大学
主分类号: G06F11/36 分类号: G06F11/36;G06K9/62;G06N3/08;G06F9/54
代理公司: 北京华夏正合知识产权代理事务所(普通合伙) 11017 代理人: 韩登营;张丽萍
地址: 123000 辽*** 国省代码: 辽宁;21
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 改进 基于 gspan 算法 软件 缺陷 定位 方法
【说明书】:

发明公开了一种改进的基于gSpan算法的软件缺陷定位方法,步骤为:从java工程项目中提取所有java文件,通过使用understand软件调用API函数从每个java文件中的每个函数提取控制流程图,生成.dot文件;将.dot文件中的数据转换为gSpan算法要求的图输入格式,之后将高低两个版本分别提取的方法图集合并在一起,对其使用改进gSpan算法挖掘区分子图;使用改进CPC算法将区分子图进行聚类,分成两簇,较少的那一簇为有缺陷的部分。本发明的改进的基于gSpan算法的软件缺陷定位方法使用无监督聚类算法在程序源代码上进行频繁子图挖掘,进而通过流程图的结构关系来进行软件缺陷的检测和定位,通过使用图挖掘技术和聚类技术来达到软件缺陷检测效率的目的。

技术领域

本发明属于软件测试的技术领域,尤其涉及一种改进的基于gSpan算法的软件缺陷定位方法。

背景技术

软件测试是描述软件的正确性、完整性、安全性和质量的过程。在软件的实际的执行结果和预期的执行结果之间进行对比分析,就是软件测试,软件测试的目的是及时的发现并且消除软件中的缺陷,从而获得更加优秀质量的软件。随着软件功能的增加和规模的扩大,软件的开发和维护过程往往需要一个团队来完成。团队的质量、彼此的协调、软硬件环境的限制以及工作过程的规范,必然导致软件开发过程中的各种缺陷。这些缺陷在开发过程中不断积累,最终导致开发周期的延长,开发成本的增加,甚至开发的失败。如果缺陷软件已经交付,软件缺陷造成的实际损失或维护软件返修所需的费用是惊人的数目。这个费用可能是在开发和设计阶段的数十倍甚至上百上千倍。软件缺陷有着不确定性,从世界上第一款软件被开发出来,人们没有确定的办法来保证软件中的缺陷被发现出来,这是由于软件程序源代码的复杂性和不确定性导致的。所以如何控制好测试成本与软件质量之间的关系已经成为了一个重要的问题。对软件中缺陷的分布进行更快速、准确的预测是非常重要的,这对于软件测试的科学管理尤为重要。

软件缺陷发现方法在国外有着较早的起步,例如Delta调试方法、程序切片技术、近邻模型、Tarantula法、SOBER法、基于图挖掘技术的缺陷定位方法等。德国萨兰大学的Andreas Zeller等人在1999年提出了Delta调试方法,这种方法是一种基于差异集的算法,能够通过减少成功配置与故障配置之间的差异来提升软件的质量。程序切片的技术是M.Weiser先生在1979年提出的一种定位软件缺陷位置的方法。这种方法是通过从软件源代码分析错误,从而发现软件缺陷的一种方法,但是这种方法有着明显的缺陷,就是在当程序源代码过多的情况下并不能产生很好的效果。近邻模型,即kNN,是一种传统的机器学习及数据挖掘算法,它在软件缺陷的发现也有着很广泛的应用,kNN有着明显的缺点,kNN没有真正的训练过程,只是将训练样本保存在内存中,如果所分析的软件过于庞大,那么需要的设备配置就会很高,从而提升软件缺陷分析的成本。Jones等人提出了一种可视化缺陷定位工具Tarantula,Tarantula是一种基于后验概率的软件缺陷分析方法,是一种很好的软件缺陷发现方法,它通过大量执行软件次数,来分析容易出现缺陷的部位,再根据后验概率计算方法来避免软件缺陷的发生。SOBER法是一种跟Tarantula很相近的一种软件缺陷发现方法,它是一种基于统计学中假设检验原理的一种软件缺陷发现方法。近年来,一些学者通过对静态程序依赖图进行数据挖掘来研究软件缺陷的发现方法,这种方法可以考虑软件的动态行为,它对程序调用图进行分析,将数据挖掘的方法运用到图中,对频繁子图的节点的信息增益值进行计算,再对信息增益值进行分析,从而实现软件缺陷的定位。

国内对软件缺陷的定位技术起步较晚,但也有一些学者对软件缺陷定位技术进行了深入的研究。例如东南大学的俞舜浩提出了基于执行轨迹谱分段检测的软件缺陷定位方法,这是一种基于分支策略的软件缺陷定位方法,它将软件的执行轨迹谱进行分析来实现定位软件缺陷。南京大学的惠战伟等研究人员提出基于程序特征谱整数溢出错误定位技术研究,这是一种基于机器学习的软件缺陷定位方法,南京大学的主要研究方向就是机器学习,提取软件程序的特征,再对数据进行训练,从而实现软件缺陷的定位,是一种新颖有效,但是难度较大的方法。还有的学者对De lta方法进行了改进,实现的更好的软件缺陷定位效果。还有的学者通过对语句可疑度进行研究,将聚类的方法运用到软件缺陷的定位中。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

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

本文链接:http://www.vipzhuanli.com/pat/books/202111340635.2/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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