【技术实现步骤摘要】
一种针对多种处理器架构的非侵入式覆盖率统计方法
本专利技术涉及嵌入式软件的测试技术,特别涉及一种针对多种处理器架构的非侵入式覆盖率统计方法。
技术介绍
随着嵌入式软件在不同领域的广泛应用,嵌入式软件的开发技术越来越多样化。嵌入式软件的安全性和可靠性问题越来越引起用户和开发人员的重视,特别是在可靠性和安全性要求很高的行业。嵌入式软件在特定的硬件环境下才能运行,但是嵌入式软件的测试环境与开发环境并不同于真实的运行环境,这将造成目标机上再充分的测试也不能保证真实运行环境下嵌入式软件的绝对安全。为了对嵌入式软件的测试提供有力的支撑,通常的虚拟化验证平台都是基于某一种方式的验证手段,并不能满足嵌入式软件对虚拟化验证的需求,缺乏有效的覆盖率统计分析手段。目前比较流行的测试工具提供的覆盖率统计都是基于源码的,基于目标码的覆盖率信息统计工具很少。为了满足不断涌现的目标码验证的需求,一些公司提出了一些相应的产品,但都有些缺陷,对高安全性、高可靠性的嵌入式系统的目标码验证技术的支持还不够。基于源码的覆盖率统计分析工具大都基于插装算法实现的,有两种比较典型的覆盖率分析方法,一种是依赖于某种特定编译器的覆盖率分析工具,另一种是功能单一的覆盖率分析工具。
技术实现思路
本专利技术的目的在于提出一种针对多种处理器架构的非侵入式覆盖率统计方法,用于解决嵌入式软件目标码测试过程中无法难以获取覆盖率信息的问题。本专利技术一种针对多种处理器架构的非侵入式覆盖率统计方法,其中,包括:搭建嵌入式软件仿真运行环境; ...
【技术保护点】
1.一种针对多种处理器架构的非侵入式覆盖率统计方法,其特征在于,包括:/n搭建嵌入式软件仿真运行环境;/n解析多种架构目标文件及调试信息格式,获取处理器对应的调试信息格式,通过解析调试信息格式获取嵌入式软件源码目标码对应关系信息;/n解析源代码获取源代码的分支信息;/n获取覆盖率信息,包括:/n仿真执行开始后,判断当前指令是否是分支指令,若不是,继续执行指令;如果是,以当前地址作为基本块结束地址,并以基本块开始地址和结束地址为索引,更新覆盖率查询表;/n将覆盖率统计分析结果输出。/n
【技术特征摘要】
1.一种针对多种处理器架构的非侵入式覆盖率统计方法,其特征在于,包括:
搭建嵌入式软件仿真运行环境;
解析多种架构目标文件及调试信息格式,获取处理器对应的调试信息格式,通过解析调试信息格式获取嵌入式软件源码目标码对应关系信息;
解析源代码获取源代码的分支信息;
获取覆盖率信息,包括:
仿真执行开始后,判断当前指令是否是分支指令,若不是,继续执行指令;如果是,以当前地址作为基本块结束地址,并以基本块开始地址和结束地址为索引,更新覆盖率查询表;
将覆盖率统计分析结果输出。
2.如权利要求1所述的针对多种处理器架构的非侵入式覆盖率统计方法,其特征在于,定义调试信息格式MidDebugInfo,并将多种调试信息解析后转换为该调试信息格式MidDebugInfo,调试信息包含文件信息、函数信息以及源码目标码对应关系信息,其中文件信息包含文件名、文件路径、文件对应的目标码开始地址和目标码结束地址,函数信息包含函数名、函数开始地址及函数结束地址,源码目标码对应关系信息包含源码行数、及该行源码对应的目标码开始地址和目标结束地址。
3.如权利要求1所述的针对多种处理器架构的非侵入式覆盖率统计方法,其特征在于,搭建嵌入式软件仿真运行环境包括:
目标处理器内核指令集仿真、嵌入式系统外设仿真以及仿真过程控制;
目标处理器内核指令集仿真采用基于LLVM的动态二进制编译方法实现目标指令在Windows/Intel宿主机架构下的异构执行,实现目标代码脱离原始硬件执行环境;嵌入式系统外设仿真用于实现目标处理器外围设备的仿真,包括RS-422、RS-485串口设备仿真、开关量设备仿真以及存储系统仿真;仿真过程控制采用统一的时钟调度算法实现虚拟环境各组成部分的执行控制与协同运行。
4.如权利要求2所述的针对多种处理器架构的非侵入式覆盖率统计方法,其特征在于,解析多种架构目标文件及调试信息格式包括:
建立以文件、函数以及行号信息三级结构信息表;
(1)多种处理器目标文件解析,根据目标文件结构,确定调试信息类型并读取调试信息;
(2)解析Dwarf1、Dwarf2、Dwarf3、stab、COFF以及OMF51调试信息格式,并将调试信息格式转换为调试信息格式MidDebugInfo;
(3)读取调试信息格式MidDebugInfo的调试信息,判断当前调试信息节点类型;
(4)判断当前调试信息节点是否是文件开始类型节点,若是创建文件信息记录结构,将文件对应目标码开始地址写入到当前文件信息记录结构中,执行步骤(3),若不是执行步骤(5);
(5)判断当前调试信息节点是否是函数开始类型节点,若是创建函数信息记录结构,将函数对应目标码开始地址写入到当前函数信息记录结构中,并将当前函数信息结构插入到当前文件信息记录机构中,执行步骤(3),若不是执行步骤(6);
(6)判断...
【专利技术属性】
技术研发人员:贾张涛,吴超,付修锋,安恒,李雅斯,沈兴龙,闫帅,
申请(专利权)人:北京计算机技术及应用研究所,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。