[发明专利]一种基于随机森林模型的程序错误定位方法在审
申请号: | 202010532370.5 | 申请日: | 2020-06-12 |
公开(公告)号: | CN111880957A | 公开(公告)日: | 2020-11-03 |
发明(设计)人: | 舒挺;潘抱一 | 申请(专利权)人: | 浙江理工大学 |
主分类号: | G06F11/07 | 分类号: | G06F11/07;G06F11/36;G06K9/62;G06N20/00 |
代理公司: | 杭州天勤知识产权代理有限公司 33224 | 代理人: | 王琛 |
地址: | 310018 浙江省杭州市*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 随机 森林 模型 程序 错误 定位 方法 | ||
1.一种基于随机森林模型的程序错误定位方法,包括如下步骤:
(1)统计软件程序中各条语句在每组测试用例下的语句覆盖情况,得到对应的语句覆盖矩阵;
(2)统计每组测试用例在软件程序运行下的执行结果:正确或错误;
(3)利用执行结果为错误的测试用例从软件程序中找出所有的动态程序失效执行块DFEB;
(4)计算生成DFEB的特征向量,利用DFEB特征向量对随机森林模型进行训练,进而利用该模型计算软件程序中每个DFEB的错误可疑度,同时利用经典的频谱可疑度算法计算软件程序中每条语句的可疑度值;
(5)根据错误可疑度从高到低对软件程序中的DFEB进行排序并逐个进行错误排查;在排查任一DFEB时,根据错误可疑度从高到低对该DFEB中的语句进行排序并逐条进行错误排查。
2.根据权利要求1所述的程序错误定位方法,其特征在于:所述步骤(1)中语句覆盖情况的定义为:以某一测试用例作为软件程序的输入,若软件程序在整个运行过程中执行了某一条语句,则该语句在该测试用例下的语句覆盖情况表示为1,否则表示为0。
3.根据权利要求2所述的程序错误定位方法,其特征在于:所述步骤(1)中语句覆盖矩阵的大小为m×n,m为软件程序中的语句总数,n为测试用例总数;该矩阵中第i行第j列的元素值为第i条语句在第j组测试用例下的语句覆盖情况,i和j均为自然数且1≤i≤m,1≤j≤n。
4.根据权利要求1所述的程序错误定位方法,其特征在于:所述动态程序失效执行块DFEB的定义为:当执行结果为错误的测试用例作为输入时软件程序中连续执行的语句集合。
5.根据权利要求2所述的程序错误定位方法,其特征在于:所述步骤(3)的具体实现过程为:对于任一组执行结果为错误的测试用例作为输入,将软件程序中语句覆盖情况为1且相邻的多条语句归属于同一个DFEB,然后将其余语句覆盖情况为1且单独的语句各自归为独立的DFEB;依此遍历所有执行结果为错误的测试用例,从软件程序中找出所有DFEB并剔除相同重复的DFEB。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江理工大学,未经浙江理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010532370.5/1.html,转载请声明来源钻瓜专利网。
- 上一篇:基于风向预测的新型偏航控制方法
- 下一篇:发光二极管外延片及其制备方法