[发明专利]一种面向巧合一致性问题的统计学软件缺陷定位方法有效
申请号: | 201210340190.2 | 申请日: | 2012-09-13 |
公开(公告)号: | CN102831065A | 公开(公告)日: | 2012-12-19 |
发明(设计)人: | 郑征;郝鹏;张震宇;蔡开元 | 申请(专利权)人: | 北京航空航天大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京慧泉知识产权代理有限公司 11232 | 代理人: | 王顺荣;唐爱华 |
地址: | 100191*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 面向 巧合 一致性 问题 统计学 软件 缺陷 定位 方法 | ||
技术领域
本发明涉及一种动态的软件缺陷定位方法,特别是涉及一种面向巧合一致性问题的统计学软件缺陷定位方法,它是一种集成了概率分布判据和标准化类间距离计算的统计学软件缺陷定位方法。该方法属于软件测试技术领域。
背景技术
统计学软件缺陷定位方法(该方法本质上是一种算法,下文中出于习惯用法,一律用算法一词)通过比较程序运行成功和失败时程序单元执行谱的差异,来查找最有可能与程序缺陷有关的程序单元。
在现有的统计学软件缺陷定位方法中,较有代表性的是Tarantula算法、CBI算法、SOBER算法(这些名称是算法的发明人命名,现在暂无中文名称)。Tarantula算法是哈罗德等人在“一种利用可视化信息的缺陷定位方法”(详见2002年《第二十四届国际软件工程会议》)一文中提出的,其选择的插桩方法是语句插桩,即对所有可执行语句进行插桩,统计成功与失败测试用例对每条可执行语句的覆盖情况。该算法所基于的假设是如果一条可执行语句被所有失败测试用例覆盖而没有被成功测试用例覆盖,则该可执行语句越可疑。然而,程序中大多数语句都很少导致缺陷,针对所有可执行语句的缺陷定位不仅会造成信息的冗余,而且还会使缺陷定位成本增大。针对这个问题,本.里布里特等人在“一种可扩展的基于统计学的故障隔离方法”(详见2005年《美国计算机学会<编程语言的设计和实现>会议》)一文中提出了CBI算法。该算法选择的插桩方法是谓词插桩,对分支语句、返回语句以及数量对语句进行插桩,通过收集和处理谓词在程序运行时的动态执行信息来实现缺陷定位。里布里特虽然解决了Tarantula算法中的信息冗余问题,但并没有充分地收集谓词的执行信息(主要表现在里布里特仅仅考虑了谓词是否在一次程序运行中被执行到,并没有考虑该谓词在一次程序中被执行了几次)。信息不充分导致CBI算法的定位效果还有待提高。为此,刘超等人在“基于统计学的程序纠错:一种基于假设检验的方法”(详见2006年《电机及电子学工程师联合会软件工程汇刊》)一文中提出了SOBER算法。该算法有效地解决了谓词执行信息收集不充分的问题,表现为它不仅记录了谓词是否在一次程序运行中被执行到,而且记录了谓词在一次程序运行中执行的次数,包括谓词判断为“真”和判断为“假”的次数。将这两种统计信息也包括到谓词缺陷相关度的计算当中,并引入假设检验的方法来计算谓词的可疑度。实验结果表明,SOBER算法的定位效果要优于CBI算法。然而SOBER算法在应用时需要假设谓词执行谱分布是正态分布,张震宇等人在“非参统计学缺陷定位”(详见2011年《系统与软件期刊》)一文中曾证明有些程序的谓词执行谱并不符合正态分布,因此提出Wilcoxon算法和Mann-Whitney算法。该算法利用统计学中非参数假设检验的方法来比较谓词执行谱的差异,经大量实验证明,Wilcoxon算法和Mann-Whitney算法在现有基于谓词的缺陷定位算法中定位效果最优。
尽管统计学软件缺陷定位方法可以取得很高的定位精度,但是,该类方法的定位精度会受输入数据特性的影响。之前的研究发现,巧合一致性(巧合一致性是指程序运行时缺陷语句被执行,但程序并没有表现出失效)问题的存在会降低统计学缺陷定位方法的定位精度。因为巧合使程序运行成功的测试用例的执行剖面与使程序运行失败的测试用例的执行剖面相近,如果将这部分测试用例归入到成功的测试用例中,会对比较谓词成功与失败执行谱差异产生负面影响。因此,现有技术主要集中于找到使程序巧合运行正确的测试用例,并且将其移除。但是,这些方法首先受限于如何正确找到存在巧合一致性的测试用例。其次,移除存在巧合一致性的测试用例,将会减少输入的测试数据,影响算法中统计学方法的应用。
如何在允许巧合一致性存在的前提下,利用巧合一致性问题的相关特性来进行缺陷定位正是本发明所基于的考虑。
发明内容
本发明一种面向巧合一致性问题的统计学软件缺陷定位方法,其目的是:克服现有方法易受巧合一致性问题影响的缺点,从巧合一致性问题本身的特性出发,提供一种新的统计学软件缺陷定位方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京航空航天大学,未经北京航空航天大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210340190.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:CETP表达的调节
- 下一篇:环境识别装置及环境识别方法