[發明專利]開源代碼檢測方法、裝置及計算機可讀存儲介質有效
| 申請號: | 201911035273.9 | 申請日: | 2019-10-29 |
| 公開(公告)號: | CN110990256B | 公開(公告)日: | 2023-09-05 |
| 發明(設計)人: | 李偉光 | 申請(專利權)人: | 中移(杭州)信息技術有限公司;中國移動通信集團有限公司 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 上海晨皓知識產權代理事務所(普通合伙) 31260 | 代理人: | 成麗杰 |
| 地址: | 310011 浙江省杭州*** | 國省代碼: | 浙江;33 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 源代碼 檢測 方法 裝置 計算機 可讀 存儲 介質 | ||
1.一種開源代碼檢測方法,其特征在于,所述方法包括:
接收開源代碼實體,并建立開源代碼實體的神經網絡模型;
對所述神經網絡模型進行訓練;
在完成對所述神經網絡模型的訓練后,接收待檢測的混源代碼實體;
將所述混源代碼實體按行進行分割,并為分割后的每行代碼確定至少一個第二靜態特征;
為確定的所述至少一個第二靜態特征中的每個靜態特征生成對應的第二SHA散列值;
將所述第二SHA散列值輸入到所述神經網絡模型進行計算,得出所述至少一個第二靜態特征的輸出概率;
根據所述輸出概率判斷所述混源代碼實體與所述開源代碼實體是否匹配。
2.根據權利要求1所述的開源代碼檢測方法,其特征在于,所述方法還包括步驟:
根據所述混源代碼實體與所述開源代碼實體的匹配結果,輸出并顯示所述混源代碼的檢索報告。
3.根據權利要求2所述的開源代碼檢測方法,其特征在于,所述檢索報告至少顯示下述信息中的一種:
混源代碼的實體信息,該實體信息至少包括文件路徑、文件名稱和匹配概率;
與混源代碼匹配的開源代碼所對應的開源項目信息,該開源項目信息至少包括軟件名稱、協議類型及當前版本;
混源代碼與開源代碼的橫向對比窗口;
誤報按鈕,以供用戶在匹配結果出現誤報時進行人工標記。
4.根據權利要求2所述的開源代碼檢測方法,其特征在于,所述建立開源代碼實體的神經網絡模型的步驟包括:
將開源代碼實體按行進行分割;
為分割后的每行代碼確定至少一個第一靜態特征;
為確定的所述至少一個第一靜態特征中的每個靜態特征生成對應的第一安全散列算法(Secure?Hash?Algorithm,SHA)散列值;
將所述至少一個第一靜態特征、對應的第一SHA散列值、開源代碼實體組成N*M*J數組存入神經網絡模型庫;
以所述N*M*J數組作為參數建立所述神經網絡模型,并將所述神經網絡模型儲存于所述神經網絡模型庫中以備調用。
5.根據權利要求4所述的開源代碼檢測方法,其特征在于,所述對所述神經網絡模型進行訓練的步驟包括:
獲取代碼訓練樣本數據;
使用所述代碼訓練樣本數據對神經網絡模型進行訓練,并根據訓練結果不斷更新所述神經網絡模型的網絡結構和參數數值。
6.根據權利要求4所述的開源代碼檢測方法,其特征在于,所述方法還包括步驟:
接收用戶對輸出的匹配結果的人工標記,根據所述人工標記更新訓練后的神經網絡模型。
7.根據權利要求6所述的開源代碼檢測方法,其特征在于,所述接收用戶對輸出的匹配結果的人工標記,根據所述人工標記更新訓練后的神經網絡模型的步驟包括:
根據所述人工標記,更新所述神經網絡模型庫的N*M*J數組。
8.一種開源代碼檢測裝置,其特征在于,包括:
至少一個處理器;以及,
與所述至少一個處理器通信連接的存儲器;其中,
所述存儲器存儲有可被所述至少一個處理器執行的指令,所述指令被所述至少一個處理器執行,以使所述至少一個處理器能夠執行如權利要求1至7中任一所述的開源代碼檢測方法的步驟。
9.一種計算機可讀存儲介質,存儲有計算機程序,其特征在于,所述計算機程序被處理器執行時實現如權利要求1至7中任一所述的開源代碼檢測方法的步驟。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中移(杭州)信息技術有限公司;中國移動通信集團有限公司,未經中移(杭州)信息技術有限公司;中國移動通信集團有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201911035273.9/1.html,轉載請聲明來源鉆瓜專利網。





