[发明专利]一种利用PageRank算法增强故障定位性能的方法在审
申请号: | 202211258448.4 | 申请日: | 2022-10-14 |
公开(公告)号: | CN116244170A | 公开(公告)日: | 2023-06-09 |
发明(设计)人: | 闫月;姜淑娟 | 申请(专利权)人: | 中国矿业大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 221116 江苏省徐*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 利用 pagerank 算法 增强 故障 定位 性能 方法 | ||
本发明提供一种利用PageRank算法增强故障定位性能的方法,包括下列步骤:1)程序语句覆盖信息和测试用例执行结果的采集;2)变异体可疑值的生成;3)语句初始可疑值的生成;4)测试用例覆盖图的构建;5)转移矩阵的生成;6)语句缺陷评分的生成;7)语句加权可疑值的生成;8)语句排序列表的生成。本发明解决了传统的基于突变的故障定位方法中的语句绑定问题,不仅大幅提高了软件故障定位的准确性,而且能够定位到更多的软件故障,进而提高了软件测试工作效率,从而更好地控制产品的质量。
技术领域
本发明属于软件测试技术领域,且特别是有关于一种利用PageRank算法增强故障定位性能的方法。
背景技术
软件测试是软件开发过程中的关键阶段,测试环节可以提高产品的质量,更好的满足用户的需求。软件故障定位是软件测试的中间环节,指的是找到程序中导致执行失败的元素的位置,以便开发人员对故障的原因进行判断进而修复故障。准确的软件故障定位的代价比较高,因为程序元素的数量和导致程序失败的原因比较多。早期的故障定位主要依赖于人工查找,开发人员根据经验在程序中插入断点或打印日志来查找故障可能产生的位置。近年来软件的规模逐渐增大,功能越来越多样化,传统的人工故障定位方法的时间和人力成本都比较高。因此,现今有很多研究人员致力于探索高效的半自动化或自动化的软件故障定位技术。
目前发展比较成熟的软件故障定位技术包括基于频谱的故障定位技术、基于变异的故障定位技术和基于机器学习的故障定位技术等。其中,基于变异的故障定位技术(Mutation-based Fault localization,MBFL)在人工故障和真实故障的定位中效果较好,能够准确的查找到故障发生的位置,为开发人员提供帮助。MBFL利用变异测试衡量程序元素对执行结果的影响。通过对比变异前后测试的行为差异来区别故障语句和正常语句,进而更有效地检测到故障的位置。然而,传统的基于变异的故障定位技术由于本身方法理论的局限性,存在多个语句可疑值相同的绑定问题,为开发人员进行故障定位带来严重的阻碍。特别是在对大规模软件进行故障定位时,传统的基于变异的故障定位技术已经无法满足测试和开发人员的需求。
发明内容
本发明目的在于提供一种利用PageRank算法增强故障定位性能的方法,解决目前存在的基于变异的故障定位方法不能满足精确故障定位的问题,进而降低软件故障定位的查找成本,提高软件故障定位的准确性,从而更好地为开发人员进行软件调试提供帮助。
为达成上述目的,本发明提出一种利用PageRank算法增强故障定位性能的方法。方法包括下列步骤:
1)程序语句覆盖信息和测试用例执行结果的采集,在程序上运行测试套件,收集程序中每个程序方法的覆盖信息和测试用例执行的结果。根据测试用例执行的结果,将测试用例分为两个集合,分别是通过的测试用例集合Tp和失败的测试用例集合Tf;
2)变异体可疑值的生成,利用PIT工具中的变异算子对程序进行变异生成变异体和变异报告。根据测试用例在变异体上的执行结果将测试用例分为两个集合:杀死变异体的测试用例集合Tk和没有杀死变异体的测试用例集合Tn。利用测试用例的集合生成以下4个计算参数:
anp=|Tn∩Tp|
akp=|Tk∩Tp|
anf=|Tn∩Tf|
akf=|Tk∩Tf|
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国矿业大学,未经中国矿业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211258448.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:注射成型机的控制装置及注射成型机的控制方法
- 下一篇:一种装配式节能保温墙体