[發(fā)明專利]一種針對多種處理器架構(gòu)的非侵入式覆蓋率統(tǒng)計方法在審
| 申請?zhí)枺?/td> | 202011280982.6 | 申請日: | 2020-11-16 |
| 公開(公告)號: | CN112395190A | 公開(公告)日: | 2021-02-23 |
| 發(fā)明(設(shè)計)人: | 賈張濤;吳超;付修鋒;安恒;李雅斯;沈興龍;閆帥 | 申請(專利權(quán))人: | 北京計算機技術(shù)及應(yīng)用研究所 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 中國兵器工業(yè)集團公司專利中心 11011 | 代理人: | 張然 |
| 地址: | 100854*** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 針對 多種 處理器 架構(gòu) 侵入 覆蓋率 統(tǒng)計 方法 | ||
本發(fā)明涉及一種針對多種處理器架構(gòu)的非侵入式覆蓋率統(tǒng)計方法,包括:搭建嵌入式軟件仿真運行環(huán)境;解析多種架構(gòu)目標(biāo)文件及調(diào)試信息格式,獲取處理器對應(yīng)的調(diào)試信息格式,通過解析調(diào)試信息格式獲取嵌入式軟件源碼目標(biāo)碼對應(yīng)關(guān)系信息;解析源代碼獲取源代碼的分支信息;獲取覆蓋率信息,包括:仿真執(zhí)行開始后,判斷當(dāng)前指令是否是分支指令,若不是,繼續(xù)執(zhí)行指令;如果是,以當(dāng)前地址作為基本塊結(jié)束地址,并以基本塊開始地址和結(jié)束地址為索引,更新覆蓋率查詢表;將覆蓋率統(tǒng)計分析結(jié)果輸出。本發(fā)明的能夠彌補現(xiàn)有覆蓋率統(tǒng)計分析工具的不足,滿足多種場景下覆蓋率統(tǒng)計分析的需求。
技術(shù)領(lǐng)域
本發(fā)明涉及嵌入式軟件的測試技術(shù),特別涉及一種針對多種處理器架構(gòu)的非侵入式覆蓋率統(tǒng)計方法。
背景技術(shù)
隨著嵌入式軟件在不同領(lǐng)域的廣泛應(yīng)用,嵌入式軟件的開發(fā)技術(shù)越來越多樣化。嵌入式軟件的安全性和可靠性問題越來越引起用戶和開發(fā)人員的重視,特別是在可靠性和安全性要求很高的行業(yè)。嵌入式軟件在特定的硬件環(huán)境下才能運行,但是嵌入式軟件的測試環(huán)境與開發(fā)環(huán)境并不同于真實的運行環(huán)境,這將造成目標(biāo)機上再充分的測試也不能保證真實運行環(huán)境下嵌入式軟件的絕對安全。
為了對嵌入式軟件的測試提供有力的支撐,通常的虛擬化驗證平臺都是基于某一種方式的驗證手段,并不能滿足嵌入式軟件對虛擬化驗證的需求,缺乏有效的覆蓋率統(tǒng)計分析手段。
目前比較流行的測試工具提供的覆蓋率統(tǒng)計都是基于源碼的,基于目標(biāo)碼的覆蓋率信息統(tǒng)計工具很少。為了滿足不斷涌現(xiàn)的目標(biāo)碼驗證的需求,一些公司提出了一些相應(yīng)的產(chǎn)品,但都有些缺陷,對高安全性、高可靠性的嵌入式系統(tǒng)的目標(biāo)碼驗證技術(shù)的支持還不夠。基于源碼的覆蓋率統(tǒng)計分析工具大都基于插裝算法實現(xiàn)的,有兩種比較典型的覆蓋率分析方法,一種是依賴于某種特定編譯器的覆蓋率分析工具,另一種是功能單一的覆蓋率分析工具。
發(fā)明內(nèi)容
本發(fā)明的目的在于提出一種針對多種處理器架構(gòu)的非侵入式覆蓋率統(tǒng)計方法,用于解決嵌入式軟件目標(biāo)碼測試過程中無法難以獲取覆蓋率信息的問題。
本發(fā)明一種針對多種處理器架構(gòu)的非侵入式覆蓋率統(tǒng)計方法,其中,包括:搭建嵌入式軟件仿真運行環(huán)境;解析多種架構(gòu)目標(biāo)文件及調(diào)試信息格式,獲取處理器對應(yīng)的調(diào)試信息格式,通過解析調(diào)試信息格式獲取嵌入式軟件源碼目標(biāo)碼對應(yīng)關(guān)系信息;解析源代碼獲取源代碼的分支信息;獲取覆蓋率信息,包括:仿真執(zhí)行開始后,判斷當(dāng)前指令是否是分支指令,若不是,繼續(xù)執(zhí)行指令;如果是,以當(dāng)前地址作為基本塊結(jié)束地址,并以基本塊開始地址和結(jié)束地址為索引,更新覆蓋率查詢表;將覆蓋率統(tǒng)計分析結(jié)果輸出。
根據(jù)本發(fā)明的針對多種處理器架構(gòu)的非侵入式覆蓋率統(tǒng)計方法的一實施例,其中,定義調(diào)試信息格式MidDebugInfo,并將多種調(diào)試信息解析后轉(zhuǎn)換為該調(diào)試信息格式MidDebugInfo,調(diào)試信息包含文件信息、函數(shù)信息以及源碼目標(biāo)碼對應(yīng)關(guān)系信息,其中文件信息包含文件名、文件路徑、文件對應(yīng)的目標(biāo)碼開始地址和目標(biāo)碼結(jié)束地址,函數(shù)信息包含函數(shù)名、函數(shù)開始地址及函數(shù)結(jié)束地址,源碼目標(biāo)碼對應(yīng)關(guān)系信息包含源碼行數(shù)、及該行源碼對應(yīng)的目標(biāo)碼開始地址和目標(biāo)結(jié)束地址。
根據(jù)本發(fā)明的針對多種處理器架構(gòu)的非侵入式覆蓋率統(tǒng)計方法的一實施例,其中,搭建嵌入式軟件仿真運行環(huán)境包括:目標(biāo)處理器內(nèi)核指令集仿真、嵌入式系統(tǒng)外設(shè)仿真以及仿真過程控制;目標(biāo)處理器內(nèi)核指令集仿真采用基于LLVM的動態(tài)二進(jìn)制編譯方法實現(xiàn)目標(biāo)指令在Windows/Intel宿主機架構(gòu)下的異構(gòu)執(zhí)行,實現(xiàn)目標(biāo)代碼脫離原始硬件執(zhí)行環(huán)境;嵌入式系統(tǒng)外設(shè)仿真用于實現(xiàn)目標(biāo)處理器外圍設(shè)備的仿真,包括RS-422、RS-485串口設(shè)備仿真、開關(guān)量設(shè)備仿真以及存儲系統(tǒng)仿真;仿真過程控制采用統(tǒng)一的時鐘調(diào)度算法實現(xiàn)虛擬環(huán)境各組成部分的執(zhí)行控制與協(xié)同運行。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于北京計算機技術(shù)及應(yīng)用研究所,未經(jīng)北京計算機技術(shù)及應(yīng)用研究所許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011280982.6/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





