[发明专利]一种基于动态程序失效执行块的程序错误定位方法在审

专利信息
申请号: 202010048038.1 申请日: 2020-01-16
公开(公告)号: CN111274129A 公开(公告)日: 2020-06-12
发明(设计)人: 舒挺;潘抱一 申请(专利权)人: 浙江理工大学
主分类号: G06F11/36 分类号: G06F11/36
代理公司: 杭州天勤知识产权代理有限公司 33224 代理人: 王琛
地址: 310018 浙江省杭州市*** 国省代码: 浙江;33
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 基于 动态 程序 失效 执行 错误 定位 方法
【说明书】:

发明公开了一种基于动态程序失效执行块的程序错误定位方法,对SFL方法进行了理论和实践两方面的分析,在此基础上提出了新的颗粒度即动态程序失效执行块DFEB,并基于此颗粒度提出了一种新的错误定位方法即基于动态程序基本块的错误定位方法。本发明通过对每个测试用例所执行的相邻语句进行分组,可以从测试执行所获得的覆盖矩阵来轻松地构建DFEB,然后使用条件概率模型将DFEB集成到SFL技术中,可有效定位程序错误语句。实验结果表明,在大多数情况下,本发明方法比经典方法更有效,在整体错误定位效果上具有优势。

技术领域

本发明属于软件程序错误定位检测技术领域,具体涉及一种基于动态程序失效执行块的程序错误定位方法。

背景技术

软件规模和复杂程度的与日俱增给软件开发和调试技术带来了极大的挑战,面对软件开发过程中如影相随的软件缺陷问题,软件测试是提升其质量和可靠性的重要技术手段,软件测试作为一种确保和提高软件质量的方式,在软件开发生命周期中发挥着越来越重要的作用。调试是软件测试过程的一部分,涉及到测试中的程序故障定位和纠正代码错误;软件故障定位主要是识别故障的特定位置,被认为是调试中最昂贵,最耗时的活动。另外,特别是对于大型程序,由于测试人员的经验和知识的限制,手动定位其错误代码成为一个具有挑战性的问题。

为了缓解这个问题,已经提出了许多方法应用于学术界和工业中的自动故障定位,同时提高了定位故障的效率和有效性。在提出的软件故障定位方法中,基于频谱的软件故障定位(SFL)是一种典型的轻量级自动诊断技术,通过降低调试效率,相对更高效;程序频谱是执行配置文件,详细说明了运行期间的动态程序行为,它可用于指示程序的哪些组件,例如语句、条件分支和方法,在特定的环境中被执行的情况。

直观地,在失败测试例中频繁执行的代码比在成功测试例中执行的代码更可疑;换句话说,这些可疑代码几乎就是软件运行失败的根本原因。通过分析成功和失败运行的程序频谱的差异,SFL可以帮助测试人员定位到软件失效的可疑代码,减少对错误代码的检索量,其具体的过程为:为了识别程序的错误部分,SFL首先需要设计和运行足够数量的测试用例(成功和失败的测试用例);然后,从成功和失败的测试用例中提取出程序频谱,并分析每条语句每次运行的代码覆盖率;接下来,使用定义的可疑度值计算公式获取每条语句的可疑度值。通过上述步骤,我们可以对每条语句按照可疑度值进行排序,进行检查;一项研究表明,SFL方法平均只需检查20%的程序代码就可以精确定位到程序错误所在的位置。

对于基于SFL的错误定位方法,可疑度公式对错误定位的准确性具有决定性影响,因此早期的研究提出了各种可疑度公式,例如Tarantula、Ochiai、DStar等,用于探索最优方法;然而,这些有价值的尝试表明,每种可疑度公式在不同的应用场景下都有其自身的优势。研究人员还发现,在不同的颗粒度级别上使用SFL错误定位技术会影响给定程序错误定位的效率,例如语句、方法、基本块;由于一些具有高可疑度值的正确语句可能被排除在高可疑代码块(方法或基本块)之外,这些语句的存在将影响SFL方法的错误定位能力。

发明内容

鉴于上述,本发明提供了一种基于动态程序失效执行块的程序错误定位方法,通过对每个测试用例所执行的相邻语句进行分组,可以从测试执行所获得的覆盖矩阵来轻松地构建DFEB,然后使用条件概率模型将DFEB集成到SFL技术中,可有效定位程序错误语句。

一种基于动态程序失效执行块的程序错误定位方法,包括如下步骤:

(1)统计软件程序中各条语句在每组测试用例下的语句覆盖情况,得到对应的语句覆盖矩阵;

(2)统计每组测试用例在软件程序运行下的执行结果:正确或错误;

(3)利用执行结果为错误的测试用例从软件程序中找出所有的动态程序失效执行块DFEB;

(4)利用条件概率模型计算出软件程序中每个DFEB及每条语句的错误可疑度;

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

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

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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