[發明專利]移植程序檢測方法、裝置、電子設備及計算機可讀存儲介質在審
| 申請號: | 202010049678.4 | 申請日: | 2020-01-16 |
| 公開(公告)號: | CN111240987A | 公開(公告)日: | 2020-06-05 |
| 發明(設計)人: | 錢文秀;董峰 | 申請(專利權)人: | 北京奇藝世紀科技有限公司 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 北京柏杉松知識產權代理事務所(普通合伙) 11413 | 代理人: | 李欣;丁蕓 |
| 地址: | 100080 北京市海淀區*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 移植 程序 檢測 方法 裝置 電子設備 計算機 可讀 存儲 介質 | ||
本發明實施例提供了一種移植程序檢測方法、裝置、電子設備及計算機可讀存儲介質。其中,方法包括:解析移植程序的代碼,得到所述移植程序所包括的待檢測函數的函數信息;按照被依賴的待檢測函數優先于依賴該被依賴的待檢測函數的順序,依次針對每個待檢測函數,根據該待檢測函數的所述函數信息生成該待檢測函數的測試用例;利用該待檢測函數在所述移植程序的原平臺環境下執行所述測試用例,得到第一測試結果,并利用該待檢測函數在所述移植程序的目的平臺環境下執行所述測試用例,得到第二測試結果;比對所述第一測試結果和所述第二測試結果是否相同;如果所述第一測試結果和所述第二測試結果不同,確定該待檢測函數異常。可以提高程序移植效率。
技術領域
本發明涉及程序檢測技術領域,特別是涉及一種移植程序檢測方法、裝置、電子設備及計算機可讀存儲介質。
背景技術
出于實際需求,發開人員可能需要將運行于一個環境中的程序,移植到另一個環境中運行。例如,程序A為運行于CPU(Central Processing Unit,中央處理器)平臺環境中的程序,受限制于CPU平臺的性能,可能需要將程序A移植至FPGA(Field-ProgrammableGate Array,現場可編程門陣列)平臺環境中運行。
但是,由于兩個環境存在一定差異,因此程序移植到新環境中運行后,可能無法實現部分或所有功能。相關技術中,可以由開發人員對所移植的程序的代碼進行人工檢測,查找功能無法實現的原因,但是該查找過程需要具有開發經驗的人員來完成,并且可能花費較多時間。導致程序移植的效率較低。
發明內容
本發明實施例的目的在于提供一種移植程序檢測方法、裝置、電子設備及計算機可讀存儲介質,以實現提高程序移植的效率。具體技術方案如下:
在本發明的第一方面,提供了一種移植程序檢測方法,所述方法包括:
解析移植程序的代碼,得到所述移植程序所包括的待檢測函數的函數信息;
按照被依賴的待檢測函數優先于依賴該被依賴的待檢測函數的順序,依次針對每個待檢測函數,根據該待檢測函數的所述函數信息生成該待檢測函數的測試用例;
利用該待檢測函數在所述移植程序的原平臺環境下執行所述測試用例,得到第一測試結果,并利用該待檢測函數在所述移植程序的目的平臺環境下執行所述測試用例,得到第二測試結果;
比對所述第一測試結果和所述第二測試結果是否相同;
如果所述第一測試結果和所述第二測試結果不同,確定該待檢測函數異常。
在一種可能的實施例中,在所述解析移植程序的代碼,得到所述待檢測程序所包括的待檢測函數的函數信息之后,所述方法還包括:
展示所述函數信息;
獲取針對所述函數信息輸入的修改指令;
根據所述修改指令,更改所述函數信息,得到更改后的函數信息;
所述根據所述函數信息生成所述待檢測函數的測試用例,包括:
根據所述更改后的函數信息生成所述待檢測函數的測試用例。
在一種可能的實施例中,所述解析移植程序的代碼,得到所述待檢測程序所包括的待檢測函數的函數信息,包括:
遍歷移植程序的代碼,獲取所述移植程序中所包括的待檢測函數的以下一個或多個信息,作為所述待檢測函數的中間信息:函數名稱、函數形參、函數在所述代碼中的起始行的行號、函數在所述代碼中的結束行的行號、返回類型;
遍歷所述移植程序的代碼,確定所述待檢測函數和其他函數間的調用關系,作為所述待檢測函數的結構信息;
將所述待檢測函數的中間信息和結構信息作為所述函數信息。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京奇藝世紀科技有限公司,未經北京奇藝世紀科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010049678.4/2.html,轉載請聲明來源鉆瓜專利網。





