[发明专利]频谱信息去冗优化的软件缺陷定位方法有效
申请号: | 201410210134.6 | 申请日: | 2014-05-16 |
公开(公告)号: | CN104008051B | 公开(公告)日: | 2017-04-26 |
发明(设计)人: | 张卫丰;张晓红;王云;王子元;周国强;张迎周 | 申请(专利权)人: | 南京邮电大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 南京正联知识产权代理有限公司32243 | 代理人: | 王素琴 |
地址: | 210023 *** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 频谱 信息 优化 软件 缺陷 定位 方法 | ||
技术领域
本发明涉及一种频谱信息去冗优化的软件缺陷定位方法,属于软件测试领域。
背景技术
多年来,人们在缺陷定位的研究中提出了许多方法,主要通过程序的静态信息和动态信息来定位程序错误。但获得静态信息的开销较大,对于大型软件,全面的静态分析甚至是不现实的,而动态信息的收集只要是运行测试用例,并不会给测试带来过多的开销。同时,由于动态信息包含了程序运行时的信息,与利用静态信息的方法相比,可以提供更准确的结果。
利用程序频谱信息进行缺陷定位,是目前比较切实有效的软件缺陷定位方法,程序频谱是一种表示程序运行时覆盖情况的信息,反应程序运行某一特征的代码剖面信息。程序频谱与程序行为之间存在着一定的关系,通过研究运行失败测试用例得到的频谱信息与运行成功测试用例得到的频谱信息之间的差异性可为软件缺陷定位提供帮助。对于程序的单条语句,被失效测试用例执行的越多,成功的测试用例执行的越少,语句含有错误的可能性就越大,发生错误的概率就越大。利用这种特征对程序语句被成功测试用例以及失败测试用例的覆盖情况进行统计分析,找出含有缺陷的程序语句。
对基于程序频谱的程序定位方法,可以从多角度采取优化策略提高软件缺陷定位的效率:第一,提高选取测试用例集的有效性;第二,尽量减少收集程序频谱的开销;第三,提高可以度算法的精确度性。在以往的优化策略的基础上,如何提出一种新的优化策略,对覆盖信息表进行去冗优化,提高依赖程序语句可疑度进行缺陷定位的可靠性,从而达到提高软件缺陷定位的效率是在基于程序频谱的程序定位方法的优化过程中应当予以考虑并解决的问题。
发明内容
本发明对已有缺陷定位方法采取优化策略产生一种新的错误定位方法,使缺陷定位的效率更高。通过运行测试用例,收集程序运行结果信息即频谱信息,对频谱信息进行去冗优化处理,利用频谱信息进行可疑度计算,根据可疑度值的大小对语句进行降序排列,最后根据已排序的语句序列逐个进行排错,直到找到引发程序异常的语句。
本发明的技术解决方案是:
一种频谱信息去冗优化的软件缺陷定位方法,
通过运行测试用例,收集程序运行结果信息即频谱信息;
对所得频谱信息进行去冗优化处理,利用频谱信息计算可疑度;
根据可疑度值的大小对语句进行降序排列,根据已排序的语句序列逐个进行排错,直至找到引发程序异常的语句。
优选地,S1、获取可执行的待测程序以及测试用例集;
S2、执行测试用例,获取程序执行的动态信息;
S3、收集所有测试用例的运行情况,并进行去冗余处理,生成无冗余覆盖信息表;
S4、根据覆盖信息表进行语句可疑度计算;
S5、根据可疑度值,对程序语句进行降序排列,根据排序的语句序列进行缺陷定位。
优选地,步骤S1具体为:
S11、获取待测的可执行程序P;
S12、将程序P的每条语句进行编号,按序编为S1,S2,S3,...,Sj,...,Sn,将编号集合记为S,其中Sj表示程序P的第j条语句,n为程序语句的总条数;
S13、获取测试用例集,记为Listsuites;
S14、对Listsuites中的测试用例进行编号,按序编为
test1,test2,test3,...,test1,...,testm,其中testi表示测试用例集Listsuites中的第i条测试用例,m为测试用例的总条数。
优选地,步骤S2具体为:
S21、根据测试用例的编号按序从Listsuites中读取测试用例testi;
S22、根据测试用例的输入以及执行条件执行读取的测试用例testi;
S23、在测试用例执行过程中对覆盖语句以及未覆盖的语句用“0”和“1”进行区分标记,“0”表示语句没有被当前测试用例执行,“1”表示语句被当前测试用例执行;
S24、判定测试用例运行结果;
S25、收集测试用例testi的运行情况,记为
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京邮电大学,未经南京邮电大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410210134.6/2.html,转载请声明来源钻瓜专利网。
- 信息记录介质、信息记录方法、信息记录设备、信息再现方法和信息再现设备
- 信息记录装置、信息记录方法、信息记录介质、信息复制装置和信息复制方法
- 信息记录装置、信息再现装置、信息记录方法、信息再现方法、信息记录程序、信息再现程序、以及信息记录介质
- 信息记录装置、信息再现装置、信息记录方法、信息再现方法、信息记录程序、信息再现程序、以及信息记录介质
- 信息记录设备、信息重放设备、信息记录方法、信息重放方法、以及信息记录介质
- 信息存储介质、信息记录方法、信息重放方法、信息记录设备、以及信息重放设备
- 信息存储介质、信息记录方法、信息回放方法、信息记录设备和信息回放设备
- 信息记录介质、信息记录方法、信息记录装置、信息再现方法和信息再现装置
- 信息终端,信息终端的信息呈现方法和信息呈现程序
- 信息创建、信息发送方法及信息创建、信息发送装置