[发明专利]二进制码覆盖率的测试系统及其测试方法在审
| 申请号: | 201510070390.4 | 申请日: | 2015-02-10 |
| 公开(公告)号: | CN104657264A | 公开(公告)日: | 2015-05-27 |
| 发明(设计)人: | 张必勇;王伟;孔祥雷 | 申请(专利权)人: | 上海创景计算机系统有限公司 |
| 主分类号: | G06F11/36 | 分类号: | G06F11/36 |
| 代理公司: | 上海汉声知识产权代理有限公司 31236 | 代理人: | 郭国中;樊昕 |
| 地址: | 201203 上海市浦东新区张江高科技园*** | 国省代码: | 上海;31 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 二进制码 覆盖率 测试 系统 及其 方法 | ||
技术领域
本发明涉及一种测试系统及其测试方法,具体地,涉及一种二进制码覆盖率的测试系统及其测试方法。
背景技术
目前二进制码覆盖率测试主要从两方面实现:一、通过硬件或飞线方式高频监控地址总线,记录执行过的地址信息,事后根据监控到的地址信息统计出覆盖率,此方法针对处理器主频太高、运行时存在指令预取等都可能导致监控遗漏或运行轨迹误判等等,绝大部分处理器都很难准确统计。二、采用源代码插装的方法,在源代码的控制流节点处插入输出信息,测试过程中监控输出信息,实时得到被测程序的覆盖率信息。三、采用纯JTAG在调试方式通过设置断点、单步等手段记录目标码执行轨迹,定时统计分析执行轨迹分析出覆盖率,此方法虽然理论上能保证覆盖率正确性,但针对绝大部份实时性较强的二进制码测试很难实施。
发明内容
针对现有技术中的缺陷,本发明的目的是提供一种二进制码覆盖率的测试系统及其测试方法,其可以在尽可能的前提下减少对被测程序的实时性影响。
根据本发明的一个方面,提供一种二进制码覆盖率的测试系统,其特征在于,包括:
二进制分析模块,用于对被测二进制码的所有静态分析;
二进制执行监控模块,用于执行被测二进制码、监控执行路径;
覆盖率统计分析模块,用于对被测二进制码执行的覆盖率分析。
优选地,所述二进制分析模块包括如下模块:
符号解析模块:用于分析二进制关联的符号信息;
二进制控制流分析模块:用于对二进制的控制流分析,生成地址表信息。
优选地,所述二进制执行监控模块包括如下模块:
执行初始化模块:用于执行前初始化准备工作;
监控程序执行模块:用于对被测二进制软件的关键点监控,并记录。
本发明还提供一种二进制码覆盖率的测试系统的测试方法,其特征在于,包括以下步骤:
步骤一:通过二进制分析模块,分析出二进制码的控制流结构,并产生地址表;
步骤二:基于JTAG调试手段初始化被测程序,在地址表中的关键点添加监控点;启动监控程序运行;
步骤三:监控程序是否触发到监控点,若触发则记录监控点,否则继续运行直到停止被测程序运行;
步骤四:分析执行过的监控点,统计二进制码的覆盖率信息。
与现有技术相比,本发明具有如下的有益效果:本发明在程序执行前预分析监控区域的入口所在的执行路径,在所在路径发生改变地址处添加监控点,当程序执行到当前监控点时自动进入监控程序,并记录下监控点,完成后回到监控点继续执行。与现有技术相比,本发明具有如下的有益效果:其一,只在被监控程序监控区间内所有入口下有跳转的地址添加监控点,最大限度的减少的对被测程序的影响;其二,监控码和被测程序一起运行在目标系统,是在被测程序全速运行下进行的覆盖率分析;所以本发明在尽可能的前提下减少对被测程序的实时性影响,解决了不插装代码前提下分析被测程序的二进制码覆盖率。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为本发明二进制码覆盖率的测试系统的原理框图。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进。这些都属于本发明的保护范围。
如图1所示,本发明二进制码覆盖率的测试系统包括:
二进制分析模块,用于对被测二进制码的所有静态分析;
二进制执行监控模块,用于执行被测二进制码、监控执行路径;
覆盖率统计分析模块,用于对被测二进制码执行的覆盖率分析。
其中,二进制分析模块包括如下模块:
符号解析模块:用于分析二进制关联的符号信息。
二进制控制流分析模块:用于对二进制的控制流分析,生成地址表信息。
其中,二进制执行监控模块包括如下模块:
执行初始化模块:用于执行前初始化准备工作,如初始化运行装置中的地址表信息、监控程序等等。
监控程序执行模块:用于对被测二进制软件的关键点监控,并记录。
本发明二进制码覆盖率的测试系统的测试方法包括以下步骤:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海创景计算机系统有限公司;,未经上海创景计算机系统有限公司;许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510070390.4/2.html,转载请声明来源钻瓜专利网。





