[发明专利]基于频谱的增量式缺陷定位方法有效
申请号: | 201610184439.3 | 申请日: | 2016-03-28 |
公开(公告)号: | CN105975388B | 公开(公告)日: | 2019-05-03 |
发明(设计)人: | 王子元;张晓红;张卫丰;周国强;张迎周 | 申请(专利权)人: | 南京邮电大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 南京知识律师事务所 32207 | 代理人: | 汪旭东 |
地址: | 210003 江苏*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了基于频谱的增量式缺陷定位方法,该方法采用增量式逐步迭代的方法,利用程序信息和测试信息找出程序缺陷语句或者预测缺陷语句可能存在的范围。该方法首先通过运行测试用例,收集测试用例在程序中执行的覆盖信息即频谱信息以及运行结果信息生成覆盖信息表;再对覆盖信息表进行统计分析,计算程序语句可疑度,根据可疑度对程序语句进行排序获得缺陷定位序列;根据定位序列中语句排列逐个进行排错,直到找到引发程序异常的语句。本发明从多角度采取优化策略提高软件缺陷定位的效率,提高了测试用例的覆盖率,很好地减少了收集频谱的开销,提高了可疑度算法的精确性。 | ||
搜索关键词: | 基于 频谱 增量 缺陷 定位 方法 | ||
【主权项】:
1.一种频谱信息去冗余优化的软件缺陷测试方法,其特征在于,所述方法包含如下步骤:获取初始定位序列;包括:获取程序语句编号序列S:S1,S2,S3,…,Sj,…,Sn;获取语句序列S:S1,S2,S3,…,Sj,…,Sn相应语句的可疑度值序列Zrough:Z1,Z2,Z3,…,Zj,…,Zn,其中Zj表示第j条语句的可疑度值;根据Zrough中可疑度值进行降序排列;根据已排序的Zrough序列,匹配对应的程序语句编号,对S:S1,S2,S3,…,Sj,…,Sn进行排序,排序后的S即为缺陷定位序列,记为Srough;测试用例增量执行;包括:增加一组测试用例并执行;选取下一组测试用例;可疑度修正;获取执行完上一组测试用例获得语句Sj的<Aef,Aep,Anf,Anp>;将ef,ep,nf,np统称为ev,利用公式(2)分别计算ef,ep,nf,np再次发生的概率p(ef),p(ep),p(nf),p(np);
根据公式3分别计算ef,ep,nf,np再次发生后所提供的信息量H(ef),H(ep),H(nf),H(np);
根据公式4分别计算ef,ep,nf,np的增量权重αef,αep,αnf,αnp;
其中,k为测试用例组数,1/k即为选定执行的测试用例条数占测试用例总条数的百分比;获取执行完本选定组测试用例获得的语句Sj的<aef,aep,anf,anp>,利用公式5,分别计算Aef,Aep,Anf,Anp,Aev=Aev+αev×aev 公式5根据公式1重新计算语句可疑度
将
记入zslight中,zslight表示修正后的可疑度值序列;判断所有语句是否均获得修正后的可疑度值;获得语句可疑度值序列zslight;定位序列修正;获取语句编号序列S:S1,S2,S3,…,Sj,…,Sn;获取语句序列S:S1,S2,S3,…,Sj,…,Sn相应语句的可疑度值序列zslight:z1,z2,z3,…,zj,…,zn,其中zj表示修正后的第j条语句的可疑度值;根据zslight中可疑度值进行降序排列;根据已排序的zslight序列,匹配对应的程序语句编号,对S:S1,S2,S3,…,Sj,…,Sn进行排序,将排序后的S序列即为修正后定位序列,记为Sslight;定位序列判定;根据定位序列进行缺陷语句定位。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京邮电大学,未经南京邮电大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201610184439.3/,转载请声明来源钻瓜专利网。
- 上一篇:一种塑木地板及其制备方法
- 下一篇:一种耐候性建筑用改性沥青