[發(fā)明專利]靜態(tài)代碼分析方法、分析裝置、電子設(shè)備及可讀存儲介質(zhì)在審
| 申請?zhí)枺?/td> | 202110674752.6 | 申請日: | 2021-06-17 |
| 公開(公告)號: | CN113377377A | 公開(公告)日: | 2021-09-10 |
| 發(fā)明(設(shè)計)人: | 何子南;王凱;邢培康;李炯 | 申請(專利權(quán))人: | 中國工商銀行股份有限公司 |
| 主分類號: | G06F8/41 | 分類號: | G06F8/41;G06F21/56 |
| 代理公司: | 中科專利商標代理有限責任公司 11021 | 代理人: | 鄢功軍 |
| 地址: | 100140 北*** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 靜態(tài) 代碼 分析 方法 裝置 電子設(shè)備 可讀 存儲 介質(zhì) | ||
本公開提供了一種靜態(tài)代碼分析方法、分析裝置、電子設(shè)備及可讀存儲介質(zhì),可應(yīng)用于計算機技術(shù)領(lǐng)域和金融領(lǐng)域。靜態(tài)代碼分析方法包括:獲取目標程序包和分析需求,其中,目標程序包中包括至少一個方法數(shù)據(jù)塊,其中,方法數(shù)據(jù)塊包括至少一行方法語句,方法語句用于實現(xiàn)一種語法功能;解析目標程序包,以獲取至少一個方法對象;以及基于分析需求,對至少一個方法對象進行分析。
技術(shù)領(lǐng)域
本公開涉及計算機技術(shù)領(lǐng)域和金融領(lǐng)域,更具體地,涉及一種靜態(tài)代碼分析方法、靜態(tài)代碼分析裝置、電子設(shè)備、計算機可讀存儲介質(zhì)及計算機程序產(chǎn)品。
背景技術(shù)
隨著程序使用時間的延長,程序的源代碼往往愈加龐大,且程序間的調(diào)用情況也更加復(fù)雜。
在實現(xiàn)本公開構(gòu)思的過程中,發(fā)明人發(fā)現(xiàn)人工或動態(tài)代碼分析均易出現(xiàn)代碼的遺漏,且人工代碼分析需要其對程序語言有一定的了解,學習成本較高。
發(fā)明內(nèi)容
有鑒于此,本公開提供了一種靜態(tài)代碼分析方法、靜態(tài)代碼分析裝置、電子設(shè)備、計算機可讀存儲介質(zhì)及計算機程序產(chǎn)品。
本公開的一個方面提供了一種靜態(tài)代碼分析方法,包括:
獲取目標程序包和分析需求,其中,上述目標程序包中包括至少一個方法數(shù)據(jù)塊,其中,上述方法數(shù)據(jù)塊包括至少一行方法語句,上述方法語句用于實現(xiàn)一種語法功能;
解析上述目標程序包,以獲取至少一個方法對象;以及
基于上述分析需求,對上述至少一個方法對象進行分析。
根據(jù)本公開的實施例,上述解析上述目標程序包,以獲取至少一個方法對象,包括:
對于每一個方法數(shù)據(jù)塊,使用策略鏈解析上述方法數(shù)據(jù)塊中的至少一行方法語句,生成至少一個方法類語法樹;以及
序列化上述至少一個方法類語法樹,得到上述方法對象。
根據(jù)本公開的實施例,上述策略鏈中包括針對于每一種語法功能分別建立的多個方法解析器;
其中,上述使用策略鏈解析上述方法數(shù)據(jù)塊中的至少一行方法語句,生成至少一個方法類語法樹,包括:
針對每一行方法語句,依次使用上述多個方法解析器識別上述方法語句;以及
使用成功識別上述方法語句的方法解析器來解析上述方法語句,以生成方法類語法樹。
根據(jù)本公開的實施例,靜態(tài)代碼分析方法還包括:
在上述多個方法解析器均無法識別上述方法語句的情況下,基于上述方法語句構(gòu)建新的方法解析器;以及
將上述新的方法解析器加入上述策略鏈中。
根據(jù)本公開的實施例,上述基于上述分析需求,對上述至少一個方法對象進行分析,包括:
基于上述分析需求,確定目標語法功能和判斷規(guī)則;
根據(jù)上述目標語法功能,從上述至少一個方法對象中獲取至少一行目標語句;以及
基于上述判斷規(guī)則,判斷上述至少一行目標語句是否正確,以完成對上述至少一個方法對象的分析。
根據(jù)本公開的實施例,上述根據(jù)上述目標語法功能,從上述至少一個方法對象中獲取至少一行目標語句,包括:
解析上述至少一個方法對象,得到至少一個功能鏈表;
根據(jù)上述目標語法功能,從數(shù)據(jù)字典中獲取與上述目標語法功能對應(yīng)的功能名稱;以及
從上述至少一個功能鏈表中提取包含上述功能名稱的語句,得到上述至少一個方法對象的至少一行目標語句。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于中國工商銀行股份有限公司,未經(jīng)中國工商銀行股份有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110674752.6/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 復(fù)雜背景中實現(xiàn)靜態(tài)目標檢測和識別的方法
- 一種設(shè)置靜態(tài)認證信息的方法及裝置
- 一種基于物聯(lián)網(wǎng)技術(shù)的機房靜態(tài)資源快速定位的方法
- 一種動態(tài)網(wǎng)頁靜態(tài)化的方法和裝置
- 瀏覽器靜態(tài)資源加載方法、瀏覽器程序及可讀存儲介質(zhì)
- 靜態(tài)資源更新方法、裝置、存儲介質(zhì)和計算機設(shè)備
- 一種圖像顯示方法及裝置
- 一種靜態(tài)方法修改非靜態(tài)對象的方法
- 一種靜態(tài)資源加載方法、裝置、設(shè)備及可讀存儲介質(zhì)
- 一種靜態(tài)資源獲取方法、裝置及其相關(guān)設(shè)備





