随着嵌入式系统也越来越复杂,功能迭代越来越多,代码中就可能就会存在部分无用代码,或者在执行过程中无法测试覆盖的分支,这可能就会给软件带来很大的漏洞,严重降低软件的可靠性。因此,需要一个能够动态分析代码执娜行覆盖情况的功能,来检测代码中未执行覆盖情况。
在覆盖率分析时需要分析嵌入式软件的指令覆盖率、指令函数覆盖率、指令函数分支覆盖率、源代码行覆盖率、源代码函数覆盖率、源代码函数分支覆盖率。
通过覆盖率统计分析,得出嵌入式软件执行覆盖情况,查看软件中有哪函数未执行,函数中哪些分支未执行,然后分析软件中函数或分支没有执行的原因,调整测试方法使尽可能多的函数和函数分支得到测试,从而大大提升软件的可靠性。
覆盖率统计报告可以导出成HTML或Excel格式,不但可以在测试时实时查看覆盖情况,也可以导出后进行结果分析。每统计一次都会将统计结果记录在info文件中,可以对多次统计结果进行融合处理。
SkyEye为您提供不需要插桩就能统计覆盖率的技术。在不插桩的前提下,使用反汇编工具生成嵌入式软件目标码的反汇编文件,通过分析反汇编文件获取想要的基础信息,如函数指令信息,地址对应源码行号信息等。再与仿真验证工具配合获取执行PC地址信息,分析嵌入式软件的执行覆盖情况,实现零插桩分析覆盖率的目的。
本文标题:嵌入式仿真平台SkyEye的覆盖率分析
本文链接:http://www.digiproto.com/