[發明專利]軟件識別方法、裝置、存儲介質和電子設備有效
| 申請號: | 202111608925.0 | 申請日: | 2021-12-27 |
| 公開(公告)號: | CN113986602B | 公開(公告)日: | 2022-04-15 |
| 發明(設計)人: | 程鵬;胡鵬;劉順明 | 申請(專利權)人: | 廣州錦行網絡科技有限公司 |
| 主分類號: | G06F11/07 | 分類號: | G06F11/07;G06N3/04;G06N3/08 |
| 代理公司: | 深圳智匯遠見知識產權代理有限公司 44481 | 代理人: | 聶磊 |
| 地址: | 510095 廣東省廣州*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 軟件 識別 方法 裝置 存儲 介質 電子設備 | ||
1.一種軟件識別方法,其特征在于,包括:
獲取源文件與所述源文件更新后的目標文件;
提取所述源文件與所述目標文件的代碼特征、文件特征、開發者特征和開發階段特征,其中,所述代碼特征包括所述目標文件相比所述源文件增減的代碼行數量、所述源文件的代碼行數量和所述目標文件中注釋行數量與代碼行數量的比值,所述文件特征包括所述目標文件相比所述源文件變更的代碼所在的子文件的數量、所述目標文件中子文件的數量、所述目標文件相比所述源文件變更的代碼所影響到的代碼目錄的數量、所述目標文件相比所述源文件變更的代碼在所述目標文件中的分布參數、所述目標文件中每一個子文件中的代碼變更數量、所述目標文件相比所述源文件的每一個子文件的抽象語法樹差異值、所述目標文件相比于所述源文件的每一個子文件的目錄樹的差異值,所述開發者特征包括提供所述目標文件的目標賬號的已經提交的文件的第一數量、所述目標賬號的預定時間內提交的文件的第二數量,所述目標賬號已經提交的文件中,影響到所述目標文件所在系統的系統數量、所述目標賬號更新所述源文件得到所述目標文件的時長,所述開發階段特征包括所述目標文件所在的階段;
識別所述源文件與所述目標文件的代碼特征、文件特征、開發者特征和開發階段特征,確定所述目標文件的識別結果,其中,所述識別結果用于指示所述目標文件有缺陷或所述目標文件無缺陷;
其中,獲取所述目標文件相比所述源文件變更的代碼在所述目標文件中的分布參數包括:計算所述目標文件相比所述源文件變更的代碼在所述目標文件中的信息熵;將所述信息熵作為所述分布參數;
其中,獲取所述目標文件相比所述源文件的每一個子文件的抽象語法樹差異值包括:計算所述目標文件相比所述源文件的每一個子文件的抽象語法樹的第一樹距離;將所述第一樹距離確定為所述每一個子文件的抽象語法樹差異值;
其中,獲取所述目標文件相比于所述源文件的每一個子文件的目錄樹的差異值包括:計算所述目標文件相比所述源文件的每一個子文件的目錄樹的第二樹距離;將所述第二樹距離確定為所述每一個子文件的目錄樹的差異值。
2.根據權利要求1所述的方法,其特征在于,獲取所述目標文件相比所述源文件變更的代碼行數量包括:
統計所述源文件的代碼行數量;
統計所述目標文件的代碼行數量;
將所述源文件的代碼行數量于所述目標文件的代碼行數量的差值確定為所述變更的代碼行數量。
3.根據權利要求1所述的方法,其特征在于,獲取所述目標文件中注釋行數量和代碼行數量的比值包括:
在所述目標文件中,一行代碼包括注釋的情況下,將所述注釋行數量增加1,其中,所述注釋行數量初始值為零;
在遍歷所述目標文件后,將所述注釋行數量比上所述代碼行數量,得到所述比值。
4.根據權利要求1所述的方法,其特征在于,獲取所述目標文件相比所述源文件變更的代碼所在的子文件的數量包括:
確定所述目標文件相比所述源文件變更的代碼中,每一行代碼所在的子文件名稱;
將所述子文件名稱中,重復的子文件名稱去除;
將剩余的子文件名稱的數量確定為所述目標文件相比所述源文件變更的代碼所在的子文件的數量。
5.根據權利要求1所述的方法,其特征在于,獲取所述目標文件相比所述源文件變更的代碼所影響到的代碼目錄的數量包括:
確定所述目標文件相比所述源文件變更的代碼中,每一行代碼所對應的代碼目錄的目錄名稱;
將所述目錄名稱中,重復的目錄名稱去除;
將剩余的目錄名稱的數量確定為所述目標文件相比所述源文件變更的代碼所影響到的代碼目錄的數量。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于廣州錦行網絡科技有限公司,未經廣州錦行網絡科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202111608925.0/1.html,轉載請聲明來源鉆瓜專利網。





