[发明专利]一种针对多种处理器架构的非侵入式覆盖率统计方法有效
申请号: | 202010636319.9 | 申请日: | 2020-07-03 |
公开(公告)号: | CN111813672B | 公开(公告)日: | 2022-07-08 |
发明(设计)人: | 贾张涛;吴超;付修锋;安恒;李雅斯;沈兴龙;闫帅 | 申请(专利权)人: | 北京计算机技术及应用研究所 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F8/75 |
代理公司: | 中国兵器工业集团公司专利中心 11011 | 代理人: | 张然 |
地址: | 100854*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 针对 多种 处理器 架构 侵入 覆盖率 统计 方法 | ||
1.一种针对多种处理器架构的非侵入式覆盖率统计方法,其特征在于,包括:
搭建嵌入式软件仿真运行环境;
解析多种架构目标文件及调试信息格式,获取处理器对应的调试信息格式,通过解析调试信息格式获取嵌入式软件源码目标码对应关系信息;
解析源代码获取源代码的分支信息;
获取目标码的覆盖率信息,包括:
仿真执行开始后,判断当前指令是否是分支指令,若不是,继续执行指令;如果是,以当前地址作为基本块结束地址,并以基本块开始地址和结束地址为索引,更新目标码的覆盖率查询表;
将记录在覆盖率查询表中的信息以特定的格式写入到指定路径的文件中,根据文件、函数、行号信息三级结构信息表,读取记录覆盖率信息的文件,并根据源代码和目标码对应关系及源文件分支信息,生成覆盖率统计分析结果;
将目标码的覆盖率统计分析结果输出;
其中,
定义调试信息格式MidDebugInfo,并将多种调试信息解析后转换为该调试信息格式MidDebugInfo,调试信息包含文件信息、函数信息以及源码目标码对应关系信息,其中文件信息包含文件名、文件路径、文件对应的目标码开始地址和目标码结束地址,函数信息包含函数名、函数开始地址及函数结束地址,源码目标码对应关系信息包含源码行数、及该行源码对应的目标码开始地址和目标结束地址;
在覆盖率信息获取过程中,以目标码基本块为最小统计单元,基本块包含开始地址、结束地址、分支指令地址、执行次数以及分支信息,一个基本块包含一行或多行源码对应的目标码。
2.如权利要求1所述的针对多种处理器架构的非侵入式覆盖率统计方法,其特征在于,搭建嵌入式软件仿真运行环境包括:
目标处理器内核指令集仿真、嵌入式系统外设仿真以及仿真过程控制;
目标处理器内核指令集仿真采用基于LLVM的动态二进制编译方法实现目标指令在Windows/Intel宿主机架构下的异构执行,实现目标代码脱离原始硬件执行环境;嵌入式系统外设仿真用于实现目标处理器外围设备的仿真,包括RS-422、RS-485串口设备仿真、开关量设备仿真以及存储系统仿真;仿真过程控制采用统一的时钟调度算法实现虚拟环境各组成部分的执行控制与协同运行。
3.如权利要求1所述的针对多种处理器架构的非侵入式覆盖率统计方法,其特征在于,解析多种架构目标文件及调试信息格式包括:
建立以文件、函数以及行号信息三级结构信息表;
(1)多种处理器目标文件解析,根据目标文件结构,确定调试信息类型并读取调试信息;
(2)解析Dwarf1、Dwarf2、Dwarf3、stab、COFF以及OMF51调试信息格式,并将调试信息格式转换为调试信息格式MidDebugInfo;
(3)读取调试信息格式MidDebugInfo的调试信息,判断当前调试信息节点类型;
(4)判断当前调试信息节点是否是文件开始类型节点,若是创建文件信息记录结构,将文件对应目标码开始地址写入到当前文件信息记录结构中,执行步骤(3),若不是执行步骤(5);
(5)判断当前调试信息节点是否是函数开始类型节点,若是创建函数信息记录结构,将函数对应目标码开始地址写入到当前函数信息记录结构中,并将当前函数信息结构插入到当前文件信息记录机构中,执行步骤(3),若不是执行步骤(6);
(6)判断当前调试信息节点是否是行号信息类型节点,若是创建行号信息记录结构,并将当前行号信息结构插入到当前函数信息记录机构中,执行步骤(3),若不是执行步骤(7);
(7)判断当前调试信息节点是否是函数结束类型节点,若是将函数对应目标码结束地址写入到当前函数信息记录结构中,执行步骤(3),若不是执行步骤(8);
(8)判断当前调试信息节点是否是文件结束类型节点,若是将文件对应目标码结束地址写入到当前文件信息记录结构中,执行步骤(9);
(9)判断调试信息读取是否结束,若没有结束,执行步骤(3),否则,开始解析源代码获取源代码的分支信息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京计算机技术及应用研究所,未经北京计算机技术及应用研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010636319.9/1.html,转载请声明来源钻瓜专利网。