[发明专利]二进制翻译中间表示正确性测试方法及装置有效
申请号: | 201811570147.9 | 申请日: | 2018-12-21 |
公开(公告)号: | CN109634869B | 公开(公告)日: | 2022-02-01 |
发明(设计)人: | 岳峰;庞建民;单征;谭捷;王军;梁光辉;李明亮 | 申请(专利权)人: | 中国人民解放军战略支援部队信息工程大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 郑州大通专利商标代理有限公司 41111 | 代理人: | 周艳巧 |
地址: | 450000 河*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 二进制 翻译 中间 表示 正确性 测试 方法 装置 | ||
1.一种二进制翻译中间表示正确性测试方法,其特征在于,包含如下内容:
建立源平台指令与中间表示之间的映射规则;
对中间表示进行状态初始化,并构造测试用例;
针对测试用例,分别独立执行源平台指令和中间表示,依据独立执行结果判定源平台指令和中间表示两者之间的语义是否等价;
对中间表示进行初始化并构造测试用例的过程中,包含如下内容:划分输入空间为等价类;将多条中间表示根据数据依赖关系构造成依赖树,从根节点开始自上向下遍历树进行输出到输入的限制,使得限制条件传播到叶子节点;所有叶子节点的有效输入作为测试输入值;
中间表示独立执行过程中,利用二进制翻译系统中的中间表示解释器来获取中间表示执行结束后的处理器状态,将执行结束后的处理器状态作为中间表示语义;源平台指令独立执行中,首先获取包含待测试汇编指令,建立执行环境,并以初始值来初始化执行环境;然后执行待测试汇编指令,获取中间表示执行结束后的处理器状态。
2.根据权利要求1所述的二进制翻译中间表示正确性测试方法,其特征在于,依据源平台指令,通过二进制翻译器获取其中间表示,并建立两者之间的映射规则。
3.根据权利要求1所述的二进制翻译中间表示正确性测试方法,其特征在于,依据源平台指令,通过二进制翻译器获取其中间表示,通过运行测试集搜集两者之间的映射规则。
4.根据权利要求3所述的二进制翻译中间表示正确性测试方法,其特征在于,运行测试集前,首先根据实践及覆盖率设定选择策略,对测试集进行分类处理,该选择策略包含:按照相同操作码进行指令分类的最小化模式,按照相同操作码、操作数数量及寻址方式的定义模板进行指令分类的模板模式,及按照不同操作码进行操作数指令分类的完全模式。
5.根据权利要求1所述的二进制翻译中间表示正确性测试方法,其特征在于,划分输入空间为等价类过程中,对每一条中间表示,确定一个等价类集合作为输出。
6.根据权利要求1所述的二进制翻译中间表示正确性测试方法,其特征在于,将多条中间表示根据数据依赖关系构造成依赖树过程中,对多条中间表示,首先确定每一条中间表示输入和输出的限制,把当前中间表示的输入作为上一条中间表示的输出。
7.根据权利要求1所述的二进制翻译中间表示正确性测试方法,其特征在于,依据独立执行结果判定源平台指令和中间表示两者之间的语义是否等价,包含如下内容:依据源平台指令和中间表示两者分别独立执行后的处理器状态,判断两者语义是否相同。
8.一种二进制翻译中间表示正确性测试装置,其特征在于,包含:映射模块、初始化模块和测试模块,其中,
映射模块,用于建立源平台指令与中间表示之间的映射规则;
初始化模块,用于对中间表示进行状态初始化,并构造测试用例;
测试模块,用于针对测试用例,分别独立执行源平台指令和中间表示,依据独立执行结果判定源平台指令和中间表示两者之间的语义是否等价;
对中间表示进行初始化并构造测试用例的过程中,包含如下内容:划分输入空间为等价类;将多条中间表示根据数据依赖关系构造成依赖树,从根节点开始自上向下遍历树进行输出到输入的限制,使得限制条件传播到叶子节点;所有叶子节点的有效输入作为测试输入值;
中间表示独立执行过程中,利用二进制翻译系统中的中间表示解释器来获取中间表示执行结束后的处理器状态,将执行结束后的处理器状态作为中间表示语义;源平台指令独立执行中,首先获取包含待测试汇编指令,建立执行环境,并以初始值来初始化执行环境;然后执行待测试汇编指令,获取中间表示执行结束后的处理器状态。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军战略支援部队信息工程大学,未经中国人民解放军战略支援部队信息工程大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811570147.9/1.html,转载请声明来源钻瓜专利网。