2021-03-05

SkyEye 查看代码覆盖率

随着嵌入式系统越来越复杂,功能迭代越来越多,代码中就可能存在部分无用代码,或者在执行过程中无法测试覆盖的分支,这可能就会给软件带来很大的漏洞,严重降低软件的可靠性。

因此,需要一个能够动态分析代码执行覆盖情况的功能,来检测代码中未执行的覆盖情况。

(视频)

在覆盖率分析时需要分析嵌入式软件的指令覆盖率、指令函数覆盖率、指令函数分支覆盖率、源代码航覆盖率、源代码函数覆盖率、源代码函数分支覆盖率。

通过覆盖率统计分析,得出嵌入式软件执行覆盖情况,查看软件中有哪些函数未执行,函数中哪些分支未执行,然后分析软件中函数或分支没有执行的原因,调整测试方法,使尽可能多的函数和函数分支得到测试,从而大大提升软件的可靠性。

覆盖率统计报告可以导出成HTML或excel格式,不但可以在测试时,实时查看覆盖情况,也可以导出后进行结果分析。每统计一次都会将统计结果记录在info文件中,可以对多次统计结果进行融合处理。

(图片)

SkyEye为您提供不需要插桩就能统计覆盖率的技术。在不插桩的前提下,使用反汇编工具生成嵌入式软件目标码的反汇编文件,通过分析反汇编文件获取想要的基础信息,如函数指令信息,地址对应源码行号信息等。

【图】

再与仿真验证工具配合获取执行PC地址信息,分析嵌入式软件的执行覆盖情况,实现零插桩分析覆盖率的目的。

你可能感兴趣的:(2021-03-05)