[發明專利]漏洞修復方法、裝置、設備及可讀存儲介質在審
| 申請號: | 202211247035.6 | 申請日: | 2022-10-12 |
| 公開(公告)號: | CN115455433A | 公開(公告)日: | 2022-12-09 |
| 發明(設計)人: | 鄭子彬;莫一凡;郭瀚陽 | 申請(專利權)人: | 中山大學 |
| 主分類號: | G06F21/57 | 分類號: | G06F21/57 |
| 代理公司: | 北京集佳知識產權代理有限公司 11227 | 代理人: | 李偉賢 |
| 地址: | 510275 *** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 漏洞 修復 方法 裝置 設備 可讀 存儲 介質 | ||
本申請提供了一種漏洞修復方法、裝置、設備及可讀存儲介質,本申請在獲取待修復的智能合約源代碼之后,可以將待修復智能合約的源代碼進行序列化得到目標語言序列,以便可將目標語言序列輸入預測模型進行處理,目標語言序列經過預測模型處理后可得到預測后的目標語言序列。此后,可將所述預測后的目標語言序列進行反序列化,得到已修復的智能合約的源代碼,以供推薦給研發人員。可修復不同類型的代碼漏洞,并且對曾出現過的代碼漏洞有相對較高的修復成功率。研發人員在編寫完智能合約源代碼只需將已完成的源代碼傳入預測模型進行運算,就可得到修復智能合約的源代碼的漏洞的推薦方案,效率上相比于現有的漏洞修復方法有明顯優勢。
技術領域
本申請涉及漏洞修復技術領域,尤其涉及一種漏洞修復方法、裝置、設備及可讀存儲介質。
背景技術
隨著區塊鏈技術的發展,智能合約的應用越來越廣泛,但是智能合約因為經常涉及經濟問題,更易受到攻擊;而且智能合約的代碼一旦部署到區塊鏈上就不可篡改,因此在將智能合約代碼部署到區塊鏈之前需要嚴格保證其安全性。然而程序員在編寫智能合約代碼過程中難以避免產生代碼缺陷和漏洞的問題,需要在完成代碼編寫后進行測試以尋找代碼漏洞并調試修復,有研究表明開發人員花在修復上的時間占全部開發時間一半左右。修復智能合約代碼的缺陷的是一項復雜而且耗時的工作,相關研究與調查表明,軟件公司每年都要投入大量時間和精力在代碼的缺陷修復上。
因此,如何高效修復智能合約的源代碼的缺陷是人們一直關注的問題。
發明內容
本申請旨在至少能解決上述的技術缺陷之一,有鑒于此,本申請提供了一種信息推薦方法、裝置、設備及可讀存儲介質,用于解決現有技術中修復智能合約的源代碼的漏洞耗時的技術缺陷。
一種漏洞修復方法,包括:
獲取待修復智能合約的源代碼;
將所述待修復智能合約的源代碼進行序列化,得到目標語言序列;
利用預設的預測模型對所述目標語言序列進行處理,得到預測后的目標語言序列,其中,所述預測模型以對有漏洞的智能合約源代碼進行序列化得到的初始語言序列作為訓練樣本,以將所述初始語言序列中,漏洞對應的語言子序列替換為修復后的語言子序列,得到的語言序列作為樣本標簽訓練得到;
將所述預測后的目標語言序列進行反序列化,得到已修復的智能合約的源代碼。
優選地,所述將所述待修復智能合約的源代碼進行序列化,得到目標語言序列,包括:
對所述待修復智能合約的源代碼進行詞法分析掃描,得到所述待修復智能合約的源代碼的標識符列表,所述標識符列表包括一個或多個標識符;
將所述標識符列表轉換成抽象語法樹AST;
利用預設的標識符字典中的標識符替換掉所述AST中與所述預設的標識符字典中的標識符對應的節點的標識符,得到替換后的AST,其中,所述預設的標識符字典中包括一個或多個與所述待修復智能合約的源代碼相關且使用頻率達到預設閾值的標識符;
將所述替換后的AST進行前序遍歷,得到目標語言序列。
優選地,所述預測模型包括編碼器和解碼器,
所述利用預設的預測模型對所述目標語言序列進行處理,得到預測后的目標語言序列,包括:
利用預設的預測模型中的編碼器對所述目標語言序列進行編碼,得到編碼后的目標語言序列;
利用預設的預測模型中的解碼器對編碼后的目標語言序列進行解碼,得到預測后的目標語言序列。
優選地,所述利用預設的預測模型中的解碼器對編碼后的目標語言序列進行解碼,得到預測后的目標語言序列,包括:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中山大學,未經中山大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202211247035.6/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種錄音設備
- 下一篇:一種三相電網消諧調制濾波裝置及方法





