[發明專利]一種針對多種處理器架構的非侵入式覆蓋率統計方法在審
| 申請號: | 202011280982.6 | 申請日: | 2020-11-16 |
| 公開(公告)號: | CN112395190A | 公開(公告)日: | 2021-02-23 |
| 發明(設計)人: | 賈張濤;吳超;付修鋒;安恒;李雅斯;沈興龍;閆帥 | 申請(專利權)人: | 北京計算機技術及應用研究所 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 中國兵器工業集團公司專利中心 11011 | 代理人: | 張然 |
| 地址: | 100854*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 針對 多種 處理器 架構 侵入 覆蓋率 統計 方法 | ||
1.一種針對多種處理器架構的非侵入式覆蓋率統計方法,其特征在于,包括:
搭建嵌入式軟件仿真運行環境;
解析多種架構目標文件及調試信息格式,獲取處理器對應的調試信息格式,通過解析調試信息格式獲取嵌入式軟件源碼目標碼對應關系信息;
解析源代碼獲取源代碼的分支信息;
獲取覆蓋率信息,包括:
仿真執行開始后,判斷當前指令是否是分支指令,若不是,繼續執行指令;如果是,以當前地址作為基本塊結束地址,并以基本塊開始地址和結束地址為索引,更新覆蓋率查詢表;
將覆蓋率統計分析結果輸出。
2.如權利要求1所述的針對多種處理器架構的非侵入式覆蓋率統計方法,其特征在于,定義調試信息格式MidDebugInfo,并將多種調試信息解析后轉換為該調試信息格式MidDebugInfo,調試信息包含文件信息、函數信息以及源碼目標碼對應關系信息,其中文件信息包含文件名、文件路徑、文件對應的目標碼開始地址和目標碼結束地址,函數信息包含函數名、函數開始地址及函數結束地址,源碼目標碼對應關系信息包含源碼行數、及該行源碼對應的目標碼開始地址和目標結束地址。
3.如權利要求1所述的針對多種處理器架構的非侵入式覆蓋率統計方法,其特征在于,搭建嵌入式軟件仿真運行環境包括:
目標處理器內核指令集仿真、嵌入式系統外設仿真以及仿真過程控制;
目標處理器內核指令集仿真采用基于LLVM的動態二進制編譯方法實現目標指令在Windows/Intel宿主機架構下的異構執行,實現目標代碼脫離原始硬件執行環境;嵌入式系統外設仿真用于實現目標處理器外圍設備的仿真,包括RS-422、RS-485串口設備仿真、開關量設備仿真以及存儲系統仿真;仿真過程控制采用統一的時鐘調度算法實現虛擬環境各組成部分的執行控制與協同運行。
4.如權利要求2所述的針對多種處理器架構的非侵入式覆蓋率統計方法,其特征在于,解析多種架構目標文件及調試信息格式包括:
建立以文件、函數以及行號信息三級結構信息表;
(1)多種處理器目標文件解析,根據目標文件結構,確定調試信息類型并讀取調試信息;
(2)解析Dwarf1、Dwarf2、Dwarf3、stab、COFF以及OMF51調試信息格式,并將調試信息格式轉換為調試信息格式MidDebugInfo;
(3)讀取調試信息格式MidDebugInfo的調試信息,判斷當前調試信息節點類型;
(4)判斷當前調試信息節點是否是文件開始類型節點,若是創建文件信息記錄結構,將文件對應目標碼開始地址寫入到當前文件信息記錄結構中,執行步驟(3),若不是執行步驟(5);
(5)判斷當前調試信息節點是否是函數開始類型節點,若是創建函數信息記錄結構,將函數對應目標碼開始地址寫入到當前函數信息記錄結構中,并將當前函數信息結構插入到當前文件信息記錄機構中,執行步驟(3),若不是執行步驟(6);
(6)判斷當前調試信息節點是否是行號信息類型節點,若是創建行號信息記錄結構,并將當前行號信息結構插入到當前函數信息記錄機構中,執行步驟(3),若不是執行步驟(7);
(7)判斷當前調試信息節點是否是函數結束類型節點,若是將函數對應目標碼結束地址寫入到當前函數信息記錄結構中,執行步驟(3),若不是執行步驟(8);
(8)判斷當前調試信息節點是否是文件結束類型節點,若是將文件對應目標碼結束地址寫入到當前文件信息記錄結構中,執行步驟(9);
(9)判斷調試信息讀取是否結束,若沒有結束,執行步驟(3),否則,開始解析源代碼獲取源代碼的分支信息。
5.如權利要求4所述的針對多種處理器架構的非侵入式覆蓋率統計方法,其特征在于,解析源代碼分支信息包括:
獲取源代碼路徑信息;
根據三級查詢結構表,逐個讀入源文件,并對行號信息節點對應的源代碼行的分支信息進行判斷,獲取源代碼分支情況。
6.如權利要求4所述的針對多種處理器架構的非侵入式覆蓋率統計方法,其特征在于,覆蓋率信息輸出格式為:基本塊開始地址、基本塊結束地址、執行次數、分支指令地址以及分支信息。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京計算機技術及應用研究所,未經北京計算機技術及應用研究所許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011280982.6/1.html,轉載請聲明來源鉆瓜專利網。





