[发明专利]一种操作系统内核模糊测试种子调度与评估方法在审
申请号: | 202310351993.6 | 申请日: | 2023-04-04 |
公开(公告)号: | CN116303082A | 公开(公告)日: | 2023-06-23 |
发明(设计)人: | 施鹤远;罗正雄;梁锴;胡超;沈煜恒;施荣华 | 申请(专利权)人: | 中南大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F18/23;G06N3/084 |
代理公司: | 长沙轩荣专利代理有限公司 43235 | 代理人: | 李崇章 |
地址: | 410000 湖南*** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 操作系统 内核 模糊 测试 种子 调度 评估 方法 | ||
1.一种操作系统内核模糊测试种子调度与评估方法,其特征在于,包括:
步骤1,利用模糊测试工具读取初始语料库;
步骤2,利用模糊测试工具随机选择语料库中的种子并将其加入输入种子池;
步骤3,使用测试工具选择输入种子池中的种子并对其执行变异操作生成测试用例;
步骤4,操作系统执行测试用例并收集测试用例覆盖到的内核位置;
步骤5,判断操作系统在执行过程中是否产生了异常状态,若是,则执行步骤6,若否,则执行步骤7;
步骤6,将测试用例作为新种子加入输出种子池中;
步骤7,判断测试用例在执行过程中是否在多层级覆盖率指标评估下出现新增覆盖的情况,若是,则执行步骤8,若否,则执行步骤9;
步骤8,将测试用例作为新种子加入输入种子池中;
步骤9,丢弃该测试用例;
步骤10,判断模糊测试工具是否接收到测试结束指令,若是,则执行步骤11,若否,则执行步骤12;
步骤11,模糊测试工具在接收到测试结束指令之后,结束测试并输出当前测试过程中维护更新的输出种子池;
步骤12,根据多层级覆盖率指标对输入种子池中的种子进行聚类分析并将输入种子池构建为一棵多层级树;
步骤13,将种子调度与评估过程建模为一个多臂老虎机模型,再根据改进的置信区间上界算法改进种子调度与评估策略;
步骤14,根据改进的种子调度与评估策略选择下一个种子并执行变异操作生成测试用例,然后返回步骤4重新循环执行上述过程。
2.根据权利要求1所述的方法,其特征在于,所述多层级覆盖率指标包括函数覆盖率、代码块覆盖率和边覆盖率。
3.根据权利要求2所述的方法,其特征在于,所述步骤7具体包括:
步骤7.1,定义覆盖空间Γ,其中,所述覆盖空间包括执行内核程序所覆盖的函数集合ΓF,执行内核程序所覆盖代码块集合ΓB,执行内核程序所覆盖的边集合ΓE;
步骤7.2,定义单一覆盖率指标其中表示内核程序库,表示测试用例集合;
步骤7.3,利用单一覆盖率指标C,构造多层级覆盖率指标其中,Cn~C1,...,Cn;
步骤7.4,将测试用例I输入至内核程序P中,并利用多层级覆盖率指标Cn进行评估获得度量结果M1,...,Mn,度量结果生成过程如下所示:
M1,...,Mn←RunWithInstrument(P,I,Cn)
其中,测试用例内核程序度量结果M∈Γ*;
步骤7.5,将此次度量结果Mt←M1∪...∪Mn与已保存的度量结果M*进行比较,若则返回无新增覆盖,否则返回出现新增覆盖,且将此次度量结果加入已保存的度量结果中M*←M*∪Mt。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中南大学,未经中南大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202310351993.6/1.html,转载请声明来源钻瓜专利网。