[发明专利]虚拟设备生成、驱动程序测试方法、装置、设备及介质在审
申请号: | 202211086076.1 | 申请日: | 2022-09-06 |
公开(公告)号: | CN115408007A | 公开(公告)日: | 2022-11-29 |
发明(设计)人: | 张超;马哲宇 | 申请(专利权)人: | 清华大学 |
主分类号: | G06F8/41 | 分类号: | G06F8/41;G06F8/73;G06F11/36 |
代理公司: | 北京路浩知识产权代理有限公司 11002 | 代理人: | 白冬梅 |
地址: | 100084 北京市海淀区双清路*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 虚拟 设备 生成 驱动程序 测试 方法 装置 介质 | ||
1.一种虚拟设备生成方法,其特征在于,包括:
对驱动程序的源文件进行编译获得中间文件,所述中间文件中包含所述源文件的语义信息;
基于程序静态分析从所述中间文件中提取所述驱动程序的特征信息;
基于所述驱动程序的特征信息,确定虚拟设备的信息;
基于所述虚拟设备的信息生成虚拟设备,所述生成的虚拟设备用于对所述驱动程序进行测试。
2.根据权利要求1所述的虚拟设备生成方法,其特征在于,所述对驱动程序的源文件进行编译获得中间文件,包括:
若所述驱动程序包含单个所述源文件,将所述源文件编译成中间代码,得到所述中间文件;
若所述驱动程序包含多个所述源文件,将所述源文件编译成中间代码,并对每个所述源文件编译得到的中间代码进行链接,得到所述中间文件。
3.根据权利要求2所述的虚拟设备生成方法,其特征在于,所述将所述源文件编译成中间代码,包括:在进行所述驱动程序的内核编译的过程中,识别出符合预设格式的内核编译命令,所述内核编译命令用于将所述源文件编译成目标文件;基于识别出的所述内核编译命令,生成中间代码编译命令;基于所述中间代码编译命令,将所述源文件编译成中间代码;
和/或,所述对每个所述源文件编译得到的中间代码进行链接,包括:在进行所述驱动程序的内核链接的过程中,识别出用于链接所述驱动程序的链接命令;基于识别出的所述链接命令,生成中间文件链接命令;基于所述中间文件链接命令,将每个所述源文件编译得到的中间代码进行链接。
4.根据权利要求1至3任一项所述的虚拟设备生成方法,其特征在于,所述驱动程序的特征信息包括以下项中的至少一项:
所述驱动程序初始化过程中的数据信息;
所述驱动程序所需要的内存空间的信息;
所述驱动程序所需要的配置空间的信息。
5.根据权利要求4所述的虚拟设备生成方法,其特征在于,所述基于程序静态分析从所述中间文件中提取所述驱动程序的特征信息,包括:
从所述中间文件中提取初始化函数中的至少一个第一函数,所述第一函数为具有读取功能的函数,获取每个所述第一函数读取的变量,并基于流敏感和路径敏感的程序静态分析,确定所述第一函数读取的变量对应的约束条件,基于所述第一函数读取的变量及对应的约束条件,得到所述驱动程序初始化过程中的数据信息;
和/或,
从所述中间文件中提取出至少一个第二函数,所述第二函数为具有检查内存空间类型功能的函数,基于程序静态分析,确定所述第二函数检查的内存空间地址及内存空间类型,得到所述驱动程序所需要的内存空间的信息;
和/或,
从所述中间文件中提取出至少一个第三函数,所述第三函数为具有读取配置空间寄存器功能的函数,基于域敏感、流敏感和路径敏感的程序静态分析,确定所述第三函数的配置空间寄存器的位置、存放在所述配置空间寄存器的变量及对应的约束条件,基于所述第三函数的配置空间寄存器的位置、存放在所述配置空间寄存器的变量及对应的约束条件,得到所述驱动程序所需要的配置空间的信息。
6.根据权利要求5所述的虚拟设备生成方法,其特征在于,还包括:
遍历所述初始化函数中的返回指令;当所述返回指令为正数时,确定存在返回值异常;当所述返回指令的返回值为PHI节点时,则进行递归,若递归后的基本块的返回值为正数,确定存在返回值异常,若递归后的基本块的返回值为PHI节点,则继续递归;当所述返回指令的返回值为调用指令且所调用的函数的返回值为正数时,确定存在返回值异常;
和/或,针对所述初始化函数中的每个基本块进行如下处理:遍历所述基本块中的调用指令,当所述基本块中的调用指令所调用的函数为申请资源的函数且当前遍历的路径不是错误处理路径,则预设的计数器加1,当所述基本块中的调用指令所调用的函数为释放资源的函数,则所述计数器减1,其中,所述计数器的初始值为零,当所述基本块遍历完成时,若所述计数器的值不为零,确定存在资源泄露。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于清华大学,未经清华大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211086076.1/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种自动分类的档案管理存放装置
- 下一篇:干湿模式无尘扫路机