[發明專利]區塊鏈智能合約代碼測試方法及裝置有效
| 申請號: | 202010380904.7 | 申請日: | 2020-05-08 |
| 公開(公告)號: | CN111563040B | 公開(公告)日: | 2023-08-15 |
| 發明(設計)人: | 夏韻;黃文韜;蘇恒;羅強 | 申請(專利權)人: | 中國工商銀行股份有限公司 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36;G06F8/75 |
| 代理公司: | 北京三友知識產權代理有限公司 11127 | 代理人: | 王濤;湯在彥 |
| 地址: | 100140 北*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 區塊 智能 合約 代碼 測試 方法 裝置 | ||
1.一種區塊鏈智能合約代碼測試方法,其特征在于,包括:
根據所述智能合約代碼的版本號生成所述智能合約代碼的變更集合;
根據所述智能合約代碼以及所述智能合約代碼的編寫語言將所述變更集合中的分功能函數、注釋、主函數、所述智能合約的對象以及所述智能合約的結構體屬性拆分出來;
打包所述分功能函數以及所述注釋,以形成第一模塊文件;
打包所述主函數、以及所述對象和所述結構體屬性的至少一者,以形成第二模塊文件;
利用詞法分析方法、語法分析方法、語義分析方法、控制流分析方法、污點分析方法以及無效代碼分析方法對所述第一模塊文件以及所述第二模塊文件進行靜態分析;
利用Concolic方法,根據所述第一模塊文件以及所述第二模塊文件的靜態分析結果測試所述智能合約代碼。
2.如權利要求1所述的區塊鏈智能合約代碼測試方法,其特征在于,所述根據所述智能合約代碼的版本號生成所述智能合約代碼的變更集合,包括:
接收所述智能合約的上架請求或者修改請求;
根據所述上架請求或者所述修改請求確定所述智能合約代碼的版本號;
根據所述版本號對應的智能合約代碼以及其上一版本的智能合約代碼生成所述變更集合。
3.如權利要求1所述的區塊鏈智能合約代碼測試方法,其特征在于,所述利用Concolic方法,根據靜態分析結果測試所述智能合約代碼,包括:
利用所述Concolic方法,對靜態分析之后的第一模塊文件以及所述第二模塊文件進行輸入參數檢測、輸出參數檢測以及分支覆蓋檢測。
4.一種區塊鏈智能合約代碼測試裝置,其特征在于,包括:
集合生成單元,用于根據所述智能合約代碼的版本號生成所述智能合約代碼的變更集合;
集合靜態分析單元,用于對所述變更集合進行靜態分析;
所述集合靜態分析單元包括:
集合拆分模塊,用于根據所述智能合約代碼以及所述智能合約代碼的編寫語言將所述變更集合中的分功能函數、注釋、主函數、所述智能合約的對象以及所述智能合約的結構體屬性拆分出來;
第一打包模塊,用于打包所述分功能函數以及所述注釋,以形成第一模塊文件;
第二打包模塊,用于打包所述主函數、以及所述對象和所述結構體屬性的至少一者,以形成第二模塊文件;
文件靜態分析模塊,用于利用詞法分析方法、語法分析方法、語義分析方法、控制流分析方法、污點分析方法以及無效代碼分析方法對所述第一模塊文件以及所述第二模塊文件進行靜態分析;
代碼測試單元,用于利用Concolic方法,根據所述第一模塊文件以及所述第二模塊文件的靜態分析結果測試所述智能合約代碼。
5.如權利要求4所述的區塊鏈智能合約代碼測試裝置,其特征在于,所述集合生成單元包括:
請求接收模塊,用于接收所述智能合約的上架請求或者修改請求;
版本號確定模塊,用于根據所述上架請求或者所述修改請求確定所述智能合約代碼的版本號;
集合生成模塊,用于根據所述版本號對應的智能合約代碼以及其上一版本的智能合約代碼生成所述變更集合。
6.如權利要求4所述的區塊鏈智能合約代碼測試裝置,其特征在于,所述代碼測試單元具體用于利用所述Concolic方法,對靜態分析之后的第一模塊文件以及所述第二模塊文件進行輸入參數檢測、輸出參數檢測以及分支覆蓋檢測。
7.一種計算機設備,包括存儲器、處理器及存儲在存儲器上并可在處理器上運行的計算機程序,其特征在于,所述處理器執行所述計算機程序時實現權利要求1至3任一所述的區塊鏈智能合約代碼測試方法。
8.一種計算機可讀存儲介質,其特征在于,所述計算機可讀存儲介質存儲有執行權利要求1至3任一所述區塊鏈智能合約代碼測試方法的計算機程序。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中國工商銀行股份有限公司,未經中國工商銀行股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010380904.7/1.html,轉載請聲明來源鉆瓜專利網。





