[發明專利]移植程序檢測方法、裝置、電子設備及計算機可讀存儲介質在審
| 申請號: | 202010049678.4 | 申請日: | 2020-01-16 |
| 公開(公告)號: | CN111240987A | 公開(公告)日: | 2020-06-05 |
| 發明(設計)人: | 錢文秀;董峰 | 申請(專利權)人: | 北京奇藝世紀科技有限公司 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 北京柏杉松知識產權代理事務所(普通合伙) 11413 | 代理人: | 李欣;丁蕓 |
| 地址: | 100080 北京市海淀區*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 移植 程序 檢測 方法 裝置 電子設備 計算機 可讀 存儲 介質 | ||
1.一種移植程序檢測方法,其特征在于,所述方法包括:
解析移植程序的代碼,得到所述移植程序所包括的待檢測函數的函數信息;
按照被依賴的待檢測函數優先于依賴該被依賴的待檢測函數的順序,依次針對每個待檢測函數,根據該待檢測函數的所述函數信息生成該待檢測函數的測試用例;
利用該待檢測函數在所述移植程序的原平臺環境下執行所述測試用例,得到第一測試結果,并利用該待檢測函數在所述移植程序的目的平臺環境下執行所述測試用例,得到第二測試結果;
比對所述第一測試結果和所述第二測試結果是否相同;
如果所述第一測試結果和所述第二測試結果不同,確定該待檢測函數異常。
2.根據權利要求1所述的方法,其特征在于,在所述解析移植程序的代碼,得到所述待檢測程序所包括的待檢測函數的函數信息之后,所述方法還包括:
展示所述函數信息;
獲取針對所述函數信息輸入的修改指令;
根據所述修改指令,更改所述函數信息,得到更改后的函數信息;
所述根據所述函數信息生成所述待檢測函數的測試用例,包括:
根據所述更改后的函數信息生成所述待檢測函數的測試用例。
3.根據權利要求1所述的方法,其特征在于,所述解析移植程序的代碼,得到所述待檢測程序所包括的待檢測函數的函數信息,包括:
遍歷移植程序的代碼,獲取所述移植程序中所包括的待檢測函數的以下一個或多個信息,作為所述待檢測函數的中間信息:函數名稱、函數形參、函數在所述代碼中的起始行的行號、函數在所述代碼中的結束行的行號、返回類型;
遍歷所述移植程序的代碼,確定所述待檢測函數和其他函數間的調用關系,作為所述待檢測函數的結構信息;
將所述待檢測函數的中間信息和結構信息作為所述函數信息。
4.根據權利要求1所述的方法,其特征在于,所述移植程序的原平臺為CPU平臺,所述利用該待檢測函數在所述移植程序的原平臺環境下執行所述測試用例,得到第一測試結果,包括:
根據所述函數信息,生成所述待檢測函數在CPU平臺下的源程序文件;
編譯所述源程序文件,生成CPU平臺下的第一測試程序;
調用所述第一測試程序執行所述測試用例,得到第一測試結果。
5.根據權利要求1所述的方法,其特征在于,所述移植程序的目的平臺為現場可編程門邏輯陣列FPGA平臺,所述利用該待檢測函數在所述移植程序的目的平臺環境下執行所述測試用例,得到第二測試結果,包括:
根據所述移植程序的代碼,封裝所述待檢測函數,得到命令文件;
編譯所述命令文件,生成FPGA平臺下的第二測試程序;
調用所述第二測試程序執行所述測試用例,得到第二測試結果。
6.根據權利要求1所述的方法,其特征在于,在所述按照被依賴的待檢測函數優先于依賴該被依賴的待檢測函數的順序,依次針對每個待檢測函數,根據該待檢測函數的所述函數信息生成該待檢測函數的測試用例之前,所述方法還包括:
基于各待檢測函數間的依賴關系,構建樹狀結構,所述樹狀結構中每個節點對應一個待檢測函數,并且每個節點對應的待檢測函數,依賴于該節點的父節點所對應的待檢測函數;
從所述樹狀結構的根節點開始,遍歷所述樹狀結構的每個節點;
按照所對應的節點在遍歷所述樹狀結構時被訪問的順序,排列各個待檢測函數,得到待檢測函數序列;
所述按照被依賴的待檢測函數優先于依賴該被依賴的待檢測函數的順序,依次針對每個待檢測函數,根據該待檢測函數的所述函數信息生成該待檢測函數的測試用例,包括:
依次針對所述待檢測函數序列中的每個待檢測函數,根據該待檢測函數的所述函數信息生成該待檢測函數的測試用例。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京奇藝世紀科技有限公司,未經北京奇藝世紀科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010049678.4/1.html,轉載請聲明來源鉆瓜專利網。





