[发明专利]一种基于面向对象程序切片谱的错误定位方法有效
申请号: | 201210184233.2 | 申请日: | 2012-06-06 |
公开(公告)号: | CN102750223A | 公开(公告)日: | 2012-10-24 |
发明(设计)人: | 李必信;文万志 | 申请(专利权)人: | 东南大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 南京天翼专利代理有限责任公司 32112 | 代理人: | 王鹏翔;朱戈胜 |
地址: | 210096*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公布了一种基于面向对象程序切片谱的错误定位方法,首先我们根据源程序构造面向对象程序依赖图,然后结合测试历史中提取的失效测试信息提取错误相关切片,根据错误相关切片和测试历史信息中提取的测试覆盖信息构造面向对象程序切片谱矩阵,最后基于面向对象程序切片谱矩阵度量错误相关切片中每个元素的可疑度,并根据可疑度大小顺序定位到错误位置。本发明的基于面向对象程序切片谱的错误定位方法效率更高。 | ||
搜索关键词: | 一种 基于 面向 对象 程序 切片 错误 定位 方法 | ||
【主权项】:
1.一种基于面向对象程序切片谱的错误定位方法,其特征在于,包括如下步骤:1).根据失效测试TF和切片准则,并结合面向对象程序系统依赖图,使用图可达性遍历算法,提取错误相关切片集合Slice;其中,TF={T1,…,Ts}表示测试运行结果错误的测试集合;GetSlice(Ti)为根据测试执行Ti提取的切片,则错误相关切片集合:Slice=GetSlice(T1)∪GetSlice(T2)∪…∪GetSlice(Ts);其中Ti是TF中的一个元素;2).结合测试覆盖信息T,构建错误相关切片集合Slice的面向对象程序切片谱矩阵M[ei,Tj],矩阵M[ei,Tj]记录了测试Tj覆盖ei的次数;其中ei是错误相关切片Slice中的一个元素;Tj表示测试覆盖信息集合T中的一个元素;错误相关切片Slice中元素个数为n;T=TF∪TP,TP={Ts+1,…,Tm}表示测试执行结果正确的测试集合;面向对象程序切片谱的矩阵元素M[ei,Tj]为:3).基于矩阵M[ei,Tj],度量Slice中每个元素ei的可疑度suspiciousness(ei),根据suspiciousness(ei)的大小顺序定位出错误位置;其中suspiciousness(ei)的计算方法为:suspiciousness ( e i ) = failed ( e i ) % failed ( e i ) % + passed ( e i ) % ]]>failed ( e i ) % = Σ j = 1 m ( p T j × C i , j ) Σ j = 1 m p T j , ]]>passed ( e i ) % = Σ j = 1 m [ ( 1 - p T j ) × C i , j ] Σ j = 1 m ( 1 - p T j ) ]]> 其中,C i , j = M [ e i , T j ] Σ k = 1 n M [ e k , T j ] , ]]>p T j = 1 T j is failed 0 T j is passed ]]> failed(ei)%表示元素ei的失效测试数占失效测试总数之比,passed(ei)表示元素ei的成功测试数占成功测试总数之比。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于东南大学,未经东南大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201210184233.2/,转载请声明来源钻瓜专利网。