[发明专利]一种利用PageRank算法增强故障定位性能的方法在审
申请号: | 202211258448.4 | 申请日: | 2022-10-14 |
公开(公告)号: | CN116244170A | 公开(公告)日: | 2023-06-09 |
发明(设计)人: | 闫月;姜淑娟 | 申请(专利权)人: | 中国矿业大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 221116 江苏省徐*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 利用 pagerank 算法 增强 故障 定位 性能 方法 | ||
1.一种利用PageRank算法增强故障定位性能的方法,其特征在于,利用PageRank算法计算语句与测试用例之间的关联度,生成语句的缺陷评分,并结合突变分析对语句的初始可疑值进行加权,利用加权可疑值生成的列表进行软件故障定位;该方法包括下列步骤:
1)程序语句覆盖信息和测试用例执行结果的采集,在程序上运行测试套件,收集程序中每个程序方法的覆盖信息和测试用例执行的结果,根据测试用例执行的结果,将测试用例分为两个集合,分别是通过的测试用例集合Tp和失败的测试用例集合Tf;
2)变异体可疑值的生成,利用PIT工具中的变异算子对程序进行变异生成变异体和变异报告,根据测试用例在变异体上的执行结果将测试用例分为两个集合:杀死变异体的测试用例集合Tk和没有杀死变异体的测试用例集合Tn;利用测试用例的集合生成以下4个计算参数:
anp=|Tn∩Tp|
akp=|Tk∩Tp|
anf=|Tn∩Tf|
akf=|Tk∩Tf|
式中anp表示通过的且没有杀死突变体的测试用例数量,akp表示通过的且杀死了突变体的测试用例的数量,anf表示失败的且没有杀死突变体的测试用例数量,akf表示失败的且杀死了突变体的测试用例数量;利用基于频谱的故障定位技术中的Ochiai公式计算变异体的可疑值,计算公式如下:
式中Susp(m)表示变异体的可疑值;
3)语句初始可疑值的生成,利用步骤2)生成的变异体的可疑值和Metallaxis方法计算语句的初始可疑值,计算公式如下:
Susp_Metallaxis(ei)=Max(Susp(m1),Susp(m2),...,Susp(mk))
式中Susp_Metallaxis(ei)表示语句ei的初始可疑值;
4)测试用例覆盖图的构建,使用步骤1)采集的程序语句覆盖信息构建测试用例与方法之间的覆盖图,覆盖图G=(V,E)表示测试用例和程序语句之间的覆盖关系,由r个节点组成;
5)转移矩阵的生成,使用步骤4)生成的覆盖图转化为测试用例与程序语句的转移矩阵Pr×r,矩阵中的元素Pij表示节点j连接到i的概率;
6)语句缺陷评分的生成,利用步骤5)生成的转移矩阵和PageRank算法计算语句的缺陷评分,该评分表示语句与测试用例执行失败的关联度,计算公式如下:
式中向量表示语句的缺陷评分,k表示迭代次数,P表示转移矩阵,阻尼系数d=0.7,向量向量初始值设置为
7)语句加权可疑值的生成,使用步骤3)和步骤6)生成的语句的初始可疑值和缺陷评分计算加权可疑值,计算公式如下:
Susp_weighted(ei)=Susp_Metallaxis(ei)+Fei
式中Susp_weighted(ei)表示语句的加权可疑值,Susp_Metallaxis(ei)表示步骤3)计算的语句的初始可疑值,Fei表示步骤6)生成的语句的缺陷评分;
8)语句排序列表的生成,对步骤7)生成的语句的加权可疑值降序排列,将语句的排序列表提供给开发人员进行故障定位。
2.根据权利要求1所述的利用PageRank算法增强故障定位性能的方法,其特征在于,在步骤1)中,程序语句覆盖信息和测试用例执行结果的采集,在程序上运行测试套件,收集程序中每个程序方法的覆盖信息和测试用例执行的结果;根据测试用例执行的结果,将测试用例分为两个集合,分别是通过的测试用例集合Tp和失败的测试用例集合Tf。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国矿业大学,未经中国矿业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211258448.4/1.html,转载请声明来源钻瓜专利网。
- 上一篇:注射成型机的控制装置及注射成型机的控制方法
- 下一篇:一种装配式节能保温墙体