[发明专利]内核代码的测试方法、装置、存储介质和处理器在审
申请号: | 202110333205.1 | 申请日: | 2021-03-29 |
公开(公告)号: | CN113312254A | 公开(公告)日: | 2021-08-27 |
发明(设计)人: | 施鹤远;王润哲 | 申请(专利权)人: | 阿里巴巴新加坡控股有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京博浩百睿知识产权代理有限责任公司 11134 | 代理人: | 谢湘宁;张文华 |
地址: | 新加坡珊顿道*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 内核 代码 测试 方法 装置 存储 介质 处理器 | ||
本申请公开了一种内核代码的测试方法、装置、存储介质和处理器。其中,该方法包括:获取初始语料库以及待测内核代码对应的目标待测位置集合;确定目标测试用例执行过程中所覆盖的目标内核代码位置;根据第一重合状态及第二重合状态将目标测试用例更新至整体覆盖语料库和/或目标覆盖语料库,第一重合状态表征目标内核代码位置是否包含了整体覆盖语料库中的其他测试用例所覆盖的第一内核代码位置,第二重合状态表征目标内核代码位置是否包含了目标待测位置集合中存储的第二内核代码位置;基于更新后的整体覆盖语料库和/或更新后的目标覆盖语料库对待测内核代码进行缺陷测试。本申请解决了现有技术中无法对内核代码的指定位置进行检测的技术问题。
技术领域
本申请涉及软件测试领域,具体而言,涉及一种内核代码的测试方法、装置、存储介质和处理器。
背景技术
内核是操作系统的最基本部分,是能够为应用程序提供对计算机硬件的安全访问的软件,因此,内核代码的质量必须得到保障。目前,通常通过对操作系统内核进行缺陷检测来保证内核代码的质量。
模糊测试技术因其测试流程自动化程度高,在内核缺陷检测上得到了广泛应用。在实际应用中,在内核模糊测试开始后,模糊测试工具首先读取初始语料库,操作系统执行初始语料库中的种子(即测试用例),并收集种子执行过程中覆盖的内核位置。然后,判断种子执行过程中是否覆盖到当前语料库中种子未曾覆盖到的内核位置。若有,则将种子加入整体覆盖语料库,否则丢弃该种子。最后,判断是否接收到测试结束指令。若有,则结束测试并输出当前测试过程中维护更新的语料库。否则,对当前整体覆盖语料库执行变异操作,并重新循环执行上述步骤。
由上述模糊测试流程可以看出,当前测试工具以种子是否覆盖当前语料库中种子未曾覆盖的内核位置为主要评估指标,测试过程中,种子质量评估方法以最大化内核整体代码覆盖率为目的。由于现有的测试方法仅强调最大化整体覆盖率,从而导致模糊测试缺乏测试针对性,无法进行针对预定待测位置(例如,某个或某些内核子系统、文件、函数)的重点优先测试,目标覆盖速度与目标相关缺陷的检测能力受限,无法及时发现待测位置相关的内核缺陷。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种内核代码的测试方法、装置、存储介质和处理器,以至少解决现有技术中无法对内核代码的指定位置进行检测的技术问题。
根据本申请实施例的一个方面,提供了一种内核代码的测试方法,包括:获取初始语料库以及待测内核代码对应的目标待测位置集合,其中,初始语料库至少包括整体覆盖语料库和目标覆盖语料库,目标待测位置集合包括至少一个目标待测位置;确定目标测试用例执行过程中所覆盖的目标内核代码位置,其中,目标测试用例为初始语料库中的测试用例;根据第一重合状态以及第二重合状态将目标测试用例更新至整体覆盖语料库和/或目标覆盖语料库中,其中,第一重合状态表征目标内核代码位置是否包含了整体覆盖语料库中的其他测试用例所覆盖的第一内核代码位置,第二重合状态表征目标内核代码位置是否包含了目标待测位置集合中存储的第二内核代码位置;基于更新后的整体覆盖语料库和/或更新后的目标覆盖语料库对待测内核代码进行缺陷测试。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴新加坡控股有限公司,未经阿里巴巴新加坡控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110333205.1/2.html,转载请声明来源钻瓜专利网。