SkyEye 查看代碼覆蓋率
隨著嵌入式系統(tǒng)越來越復(fù)雜,功能迭代越來越多唠雕,代碼中就可能存在部分無用代碼贸营,或者在執(zhí)行過程中無法測試覆蓋的分支,這可能就會給軟件帶來很大的漏洞岩睁,嚴(yán)重降低軟件的可靠性钞脂。
因此,需要一個(gè)能夠動態(tài)分析代碼執(zhí)行覆蓋情況的功能捕儒,來檢測代碼中未執(zhí)行的覆蓋情況冰啃。
(視頻)
在覆蓋率分析時(shí)需要分析嵌入式軟件的指令覆蓋率、指令函數(shù)覆蓋率刘莹、指令函數(shù)分支覆蓋率阎毅、源代碼航覆蓋率、源代碼函數(shù)覆蓋率点弯、源代碼函數(shù)分支覆蓋率扇调。
通過覆蓋率統(tǒng)計(jì)分析,得出嵌入式軟件執(zhí)行覆蓋情況抢肛,查看軟件中有哪些函數(shù)未執(zhí)行狼钮,函數(shù)中哪些分支未執(zhí)行,然后分析軟件中函數(shù)或分支沒有執(zhí)行的原因捡絮,調(diào)整測試方法熬芜,使盡可能多的函數(shù)和函數(shù)分支得到測試,從而大大提升軟件的可靠性福稳。
覆蓋率統(tǒng)計(jì)報(bào)告可以導(dǎo)出成HTML或excel格式涎拉,不但可以在測試時(shí),實(shí)時(shí)查看覆蓋情況的圆,也可以導(dǎo)出后進(jìn)行結(jié)果分析鼓拧。每統(tǒng)計(jì)一次都會將統(tǒng)計(jì)結(jié)果記錄在info文件中,可以對多次統(tǒng)計(jì)結(jié)果進(jìn)行融合處理越妈。
(圖片)
SkyEye為您提供不需要插樁就能統(tǒng)計(jì)覆蓋率的技術(shù)毁枯。在不插樁的前提下,使用反匯編工具生成嵌入式軟件目標(biāo)碼的反匯編文件叮称,通過分析反匯編文件獲取想要的基礎(chǔ)信息种玛,如函數(shù)指令信息藐鹤,地址對應(yīng)源碼行號信息等。
【圖】
再與仿真驗(yàn)證工具配合獲取執(zhí)行PC地址信息赂韵,分析嵌入式軟件的執(zhí)行覆蓋情況娱节,實(shí)現(xiàn)零插樁分析覆蓋率的目的。