[發明專利]一種實現虛擬驗證系統覆蓋率分析的方法有效
| 申請號: | 201710141593.7 | 申請日: | 2017-03-10 |
| 公開(公告)號: | CN106844221B | 公開(公告)日: | 2020-05-22 |
| 發明(設計)人: | 吳翔虎;陶永超;曲明成 | 申請(專利權)人: | 深圳航天科技創新研究院 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 深圳市科吉華烽知識產權事務所(普通合伙) 44248 | 代理人: | 胡玉 |
| 地址: | 518000 廣東省*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 實現 虛擬 驗證 系統 覆蓋率 分析 方法 | ||
1.一種實現虛擬驗證系統覆蓋率分析的方法,其特征在于,所述方法包括:
S1、調用核接口函數CompECPUGetCovData(),SPARC核生成disassembly.dat、disassembly.txt文件,ARM核時只生成disassembly.dat文件;其中disassembly.txt為所有指令的執行序列記錄,disassembly.dat為虛擬驗證系統生成的中間代碼執行歷史記錄文件,其中,核接口函數CompECPUGetCovData()的輸入參數為disassembly.dat;
S2、判斷當前是否是ARM核,是ARM核則調用disassembly(elf_path)函數,生成disassembly.txt文件;
S3、打開disassembly.txt、all_c_file.txt、assemble.s文件,其中,assemble.s是自動生成的匯編源文件,all_c_file.txt是臨時文件;
S4、從disassembly.txt文件中讀取一行數據,從中取得PC值、指令值、匯編指令,獲取PC值對應的符號表信息;
S5、判斷disassembly.txt文件是否已經讀取完畢,讀取完畢執行S6,否則執行S11;
S6、判斷當前C源文件指針是否有效,當前C臨時文件指針是否有效,如二者皆有效則將當前源文件中剩下的C語句都寫入臨時C文件中;
S7、關閉disassembly.txt、all_c_file.txt、assemble.s、當前打開的源文件、當前臨時C文件;
S8、逐行讀取disassembly.dat文件內容,將每一行信息存入text_record結構體中,并將每一個結構體都串聯起來,組成結構體鏈表;
S9、調用函數GenerateReport(),根據上一步生成的結構體鏈表,以及各源文件對應的臨時C文件和assemble.s文件,生成覆蓋率分析報告;
S10、覆蓋率分析命令執行完畢;
S11、接步驟S5,判斷當前PC值對應的文件是否為C文件,不是執行S12,是執行S13;
S12、將當前的匯編指令信息寫入assemble.s文件中并讀取下一指令PC值,獲取對應的符號表信息,再回到S5;
S13、判斷當前符號表信息中對應的C源文件是否為新的C文件,不是執行S14,是執行S15;
S14、將PC值對應的C語句行號之前的源文件中的語句都寫入臨時C文件中,再回到S5;
S15、判斷當前C源文件指針是否有效,當前C臨時文件指針是否有效,如二者皆有效則將當前源文件中剩下的C語句都寫入臨時C文件中;
S16、關閉當前C源文件和臨時C文件,打開新的源文件和臨時C文件,再回到S14。
2.根據權利要求1所述的方法,其特征在于:所述方法還包括:用戶設置覆蓋率代碼起始點,虛擬驗證系統的GDB模塊將根據用戶設置完成相關代碼段的執行標記;在虛擬驗證系統仿真執行過程中,將根據代碼段的執行標記來判斷是否需要進行覆蓋率分析,若需要,則記錄執行歷史并生成專有的中間代碼執行歷史記錄文件;在用戶選擇報告生成路徑之后,覆蓋率分析模塊生成最終覆蓋率分析報告。
3.根據權利要求1所述的方法,其特征在于:所述當前源文件中剩下的C語句包括空行、注釋行。
4.根據權利要求1所述的方法,其特征在于:所述匯編指令信息包括PC值、指令值、匯編指令。
5.根據權利要求1所述的方法,其特征在于:所述方法使用GDB提供的“PC值獲取符號表”接口操作,描述如下:函數名稱:pc_mapping_source,函數原型:struct symtab_and_line pc_mapping_source(CORE_ADDR pc),輸入參數:指令地址pc,返回值symtab_and_line:存儲當前指令對應的符號表信息、PC值、C語句行號信息。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于深圳航天科技創新研究院,未經深圳航天科技創新研究院許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710141593.7/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種枕式包裝機的供膜裝置
- 下一篇:一種面膜的生產包裝設備





