[發明專利]一種源碼掃描工具、方法、設備及介質有效
| 申請號: | 202010790482.0 | 申請日: | 2020-08-07 |
| 公開(公告)號: | CN112000572B | 公開(公告)日: | 2022-06-17 |
| 發明(設計)人: | 王鳳麗 | 申請(專利權)人: | 北京浪潮數據技術有限公司 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 北京集佳知識產權代理有限公司 11227 | 代理人: | 巴翠昆 |
| 地址: | 100085 北京*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 源碼 掃描 工具 方法 設備 介質 | ||
1.一種源碼掃描工具,其特征在于,包括:
分析模塊,用于對程序源碼進行分析,以生成第三方組件對應的問題詞典;其中,所述問題詞典中的問題為所述分析模塊無法識別的所述第三方組件對應的語法;
第三方組件解析引擎,用于查找所述問題詞典中所述問題對應的所述程序源碼引用的所述第三方組件的功能片段,然后將所述功能片段以及所述問題對應的所述程序源碼中的上下文作為目標程序段保存至目標文件,并將所述目標文件的指針回調給所述分析模塊,以便所述分析模塊通過所述指針分析所述目標程序段,得到對應的分析結果;
其中,所述第三方組件解析引擎,還用于將所述問題以及所述問題對應的所述指針添加至解疑索引表;
其中,所述第三方組件解析引擎,還用于在查找所述問題詞典中所述問題對應的所述程序源碼引用的所述第三方組件的功能片段之前,在所述解疑索引表中查找是否存在所述問題對應的目標指針,若存在,則將所述目標指針回調給所述分析模塊,否則,啟動所述查找所述問題詞典中所述問題對應的所述程序源碼引用的所述第三方組件的功能片段的步驟。
2.根據權利要求1所述的源碼掃描工具,其特征在于,
所述分析模塊,還用于在得到所述分析結果之后,將對應的所述問題從所述問題詞典中刪除。
3.根據權利要求1所述的源碼掃描工具,其特征在于,
所述分析模塊,具體用于對所述程序源碼進行分析,以生成所述第三方組件對應的所述問題詞典;其中,所述問題詞典包括任一所述問題以及所述問題對應的問題序號對應的鍵值對。
4.根據權利要求1所述的源碼掃描工具,其特征在于,還包括:
輸入模塊,用于確定出所述程序源碼對應的待掃描文件位置,以便所述分析模塊根據所述待掃描文件位置進行針對所述程序源碼的分析。
5.根據權利要求1至4任一項所述的源碼掃描工具,其特征在于,還包括:
輸出模塊,用于將所述分析模塊生成的目標分析結果存放至預設緩存隊列,當所述預設緩存隊列滿時,將所述預設緩存隊列中的內容寫入對應的問題報告;
其中,所述目標分析結果為所述分析模塊判定所述目標程序段存在問題時生成的分析結果。
6.一種源碼掃描方法,其特征在于,包括:
對程序源碼進行分析,以生成第三方組件對應的問題詞典;其中,所述問題詞典中的問題為分析模塊無法識別的所述第三方組件對應的語法;
查找所述問題詞典中所述問題對應的所述程序源碼引用的所述第三方組件的功能片段;
將所述功能片段以及所述問題對應的所述程序源碼中的上下文作為目標程序段保存至目標文件;
對所述目標文件的指針進行回調,通過所述指針分析所述目標程序段,得到對應的分析結果;
其中,所述源碼掃描方法,還包括:將所述問題以及所述問題對應的所述指針添加至解疑索引表;
其中,所述查找所述問題詞典中所述問題對應的所述程序源碼引用的所述第三方組件的功能片段之前,還包括:在所述解疑索引表中查找是否存在所述問題對應的目標指針,若存在,則將所述目標指針回調給所述分析模塊,否則,啟動所述查找所述問題詞典中所述問題對應的所述程序源碼引用的所述第三方組件的功能片段的步驟。
7.一種源碼掃描設備,其特征在于,包括處理器和存儲器;其中,
所述存儲器,用于保存計算機程序;
所述處理器,用于執行所述計算機程序以實現如權利要求6所述的源碼掃描方法。
8.一種計算機可讀存儲介質,其特征在于,用于保存計算機程序,其中,所述計算機程序被處理器執行時實現如權利要求6所述的源碼掃描方法。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京浪潮數據技術有限公司,未經北京浪潮數據技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010790482.0/1.html,轉載請聲明來源鉆瓜專利網。





