[发明专利]一种基于变量切片和关联规则的软件错误定位方法有效
申请号: | 201710216886.7 | 申请日: | 2017-04-05 |
公开(公告)号: | CN106951372B | 公开(公告)日: | 2020-06-16 |
发明(设计)人: | 王曙燕;孙家泽;罗丹 | 申请(专利权)人: | 西安邮电大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京汇信合知识产权代理有限公司 11335 | 代理人: | 吴甘棠 |
地址: | 710000 *** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 变量 切片 关联 规则 软件 错误 定位 方法 | ||
本发明针对软件测试中错误定位效率低的问题,公开了一种基于变量切片和关联规则的软件错误定位方法。本方法首先针对Java程序语句进行变量切片,将所有变量切片行号信息作为事务数据库;然后利用关联分析得到关联规则集合,根据置信度和支持度由高到低的排列顺序,生成检查语句优先级次序;最后依据语句优先级次序越靠前越优先被检查的原则定位错误出现的具体位置。本发明结合变量切片技术和关联规则算法进行软件错误定位,提高软件错误定位的效率,降低软件测试成本。
技术领域
本发明属于软件测试技术领域,具体涉及到软件错误定位问题,提供了一种基于变量切片和关联规则的软件错误定位方法,主要解决错误定位中效率低的问题,达到提高错误定位效率、降低测试成本的目的。
背景技术
随着软件在各行各业应用的不断普及与深入,软件质量逐渐成为行业竞争的核心力量之一。如何确保软件质量成为了开发人员和测试人员关注的焦点,而软件错误定位是调试过程中最昂贵、最耗时的活动之一,也是保证软件质量、提高调试效率、降低测试成本的关键性工作。
目前,软件错误定位已经成为国内外研究的一个热点。错误定位旨在找到隐含在程序源代码中的错误指令、过程或数据定义,其粒度包含程序语句、基本块、分支、函数或类。错误定位技术根据“是否需要运行软件”的准则分为两大类:基于测试的错误定位技术和基于静态分析的错误定位技术。前者需要设计测试用例,然后运行软件程序,最后根据软件程序的动态执行信息和输出结果进行错误定位,然而动态分析方法在收集执行信息时会产生较大的代价。后者不用运行软件,而是依据程序语言的语法和语义,静态分析软件结构和程序实体之间的依赖关系,以发现不符合系统约束的程序实体,从而进行错误定位。
软件错误定位方法主要通过缩小错误搜索范围来提高效率。程序切片技术通过去除与程序错误不相关的语句来缩小错误搜索范围,但是计算动态程序切片时,需要进行测试用例设计,切片后的程序为语句集合,集合内元素无先后次序,测试人员需要检查切片中所有语句以定位错误,导致时间资源消耗较大,错误定位效率较低。基于覆盖信息的错误定位方法以程序中语句或基本块为研究对象,统计不同执行轨迹的覆盖信息进行怀疑度计算,经典的Tarantula、Ochiai和Naish等方法通过计算语句怀疑度得出检查语句的先后次序以定位错误,但是这些方法对执行轨迹进行了高度简化并忽略了程序内部固有的依赖关系,计算量大,时间代价较高,导致错误定位效率较低。
为此,本发明提出变量切片和关联规则相结合的软件错误定位方法以期提高软件错误定位的效率。首先在系统依赖图的基础上进行变量切片,通过分析程序执行过程,可以发现语句之间存在关联,关联分析技术能够从大量程序执行信息中获取关联语句,以此确定语句检查优先级次序,定位错误出现的位置。
发明内容
本发明要解决的问题是:现有软件错误定位方法时间资源消耗大、效率较低,难以满足降低测试成本的需求,需要一种新的软件错误定位方法,在减少计算量、降低时间资源消耗的情况下,有效提高软件错误定位的效率。
本发明的技术方案为:采用一种缩小软件调试范围的变量切片技术和分析程序语句相关性的关联规则算法相结合的针对Java程序的错误定位方法。首先针对Java程序语句进行变量切片,将所有变量切片行号信息作为事务数据库;然后利用关联分析得到关联规则集合,根据置信度和支持度由高到低的排列顺序,生成检查语句优先级次序;最后依据语句优先级次序越靠前越优先被检查的原则定位错误出现的位置。
本发明的特征在于包括以下步骤:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安邮电大学,未经西安邮电大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710216886.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种静脉输液港输液针
- 下一篇:一种头戴式耳机的弹性折叠结构