发明名称 一种基于概念格的软件多错误定位方法
摘要 本发明是一种基于概念格的软件多错误定位方法,该方法能够有效地表示出错误测试和导致程序出错元素之间的关联关系,能够更加有效地找出软件中存在的错误。该技术在实际应用中不受程序语言约束,可以应用于各种编程语言程序中,提高了该技术可应用的范围。根据概念格的层次特性提出一种新的程序元素的可疑程度SD模型,而SD是针对概念格上的每一个节点k进行度量的,即,<img file="DDA00002899619100011.GIF" wi="842" he="144" />其中,Failed表示失效测试用例,Passed表示正确测试用例,Distance表示两个节点间的最短距离,有了该可疑程度度量后,按照该可疑程度从高到低的顺序检查哪些元素是导致测试用例的失效,从而实现软件中的多错误定位。
申请公布号 CN103176902A 申请公布日期 2013.06.26
申请号 CN201310074961.2 申请日期 2013.03.08
申请人 扬州大学 发明人 孙小兵
分类号 G06F11/36(2006.01)I 主分类号 G06F11/36(2006.01)I
代理机构 南京瑞弘专利商标事务所(普通合伙) 32249 代理人 杨晓玲
主权项 一种基于概念格的软件多错误定位方法,其特征在于该多错误定位方法具体如下:步骤1:给定一个测试用例集,收集程序执行情况;其中,有一些测试用例结果与预期不一致,称之为失效测试用例集,记为Failed;而其余测试执行结果正确的测试集合记为Passed;步骤2:根据测试用例覆盖信息构造二维表,表中行表示测试用例运行情况,列表示程序元素,某个列的程序元素被某一行的测试用例覆盖,就对其进行标记,再以该二维表为输入,利用形式概念分析技术构造概念格,形式概念分析建立在数学基础之上,对组成概念的对象、属性以及关系,用形式化的语境表述出来,然后根据语境,利用概念格的生成算法自动构造出概念格;概念格上的节点表示概念,而一个概念是由外延和内涵组成,分别表示某个节点的特征测试和特征元素;步骤3:在概念格上识别出所有都有外延和内涵标记的概念节点,如果一个节点的外延只有错误测试用例标记,则将该节点所标记的程序元素提取出来,那么根据概念格的标记方法,该错误特征测试很有可能是由于该概念节点所标记的程序元素导致的,因而该元素拥有最高的可疑度,则要检查该元素是否是错误产生的原因;另外,如果一个节点的外延只有正确测试用例标记,根据概念格的标记方法,该节点所标记的程序元素不可能是导致其他测试用例运行错误的元素,因而将其从可疑程序元素中删除;步骤4:对于概念格上的其他节点,根据概念格的层次特性提出一种新的程序元素的可疑程度SD模型,而SD是针对概念格上的每一个节点k进行度量的,即, <mrow> <msub> <mi>SD</mi> <mi>k</mi> </msub> <mo>=</mo> <msubsup> <mi>&Sigma;</mi> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>n</mi> </msubsup> <mfrac> <msub> <mi>Failed</mi> <mi>i</mi> </msub> <msub> <mrow> <mi>Dis</mi> <mi>tan</mi> <mi>ce</mi> </mrow> <mi>i</mi> </msub> </mfrac> <mo>-</mo> <msubsup> <mi>&Sigma;</mi> <mrow> <mi>j</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>m</mi> </msubsup> <mfrac> <msub> <mi>Passed</mi> <mi>j</mi> </msub> <msub> <mrow> <mi>Dis</mi> <mi>tan</mi> <mi>ce</mi> </mrow> <mi>j</mi> </msub> </mfrac> <mo>,</mo> </mrow>其中,Failed表示失效测试用例,Passed表示正确测试用例,Distance表示两个节点间的最短距离,有了该可疑程度度量后,按照该可疑程度从高到低的顺序检查哪些元素是导致测试用例的失效,从而实现软件中的多错误定位。
地址 225009 江苏省扬州市广陵区大学南路88号