[發明專利]用于測試智能合約的方法和裝置在審
| 申請號: | 201710834235.4 | 申請日: | 2017-09-15 |
| 公開(公告)號: | CN109508981A | 公開(公告)日: | 2019-03-22 |
| 發明(設計)人: | 周恩策;皮冰鋒;華松;孫俊 | 申請(專利權)人: | 富士通株式會社 |
| 主分類號: | G06Q20/38 | 分類號: | G06Q20/38 |
| 代理公司: | 北京集佳知識產權代理有限公司 11227 | 代理人: | 朱勝;李彥麗 |
| 地址: | 日本神*** | 國省代碼: | 日本;JP |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 測試智能 方法和裝置 檢測 定位邏輯 操作碼 智能 定位信息 | ||
1.一種用于測試智能合約的方法,包括:
利用用于檢測并定位邏輯風險的操作碼,檢測所述智能合約中的邏輯風險;
基于所述用于檢測并定位邏輯風險的操作碼中的定位信息,定位出所述智能合約中的包含所檢測到的邏輯風險的至少一個函數;以及
基于所述至少一個函數,測試所述智能合約。
2.根據權利要求1所述的方法,其中,通過對用于檢測邏輯風險的操作碼與具有定位信息的操作碼進行映射,將所述定位信息添加到所述用于檢測邏輯風險的操作碼中,從而生成所述用于檢測并定位邏輯風險的操作碼。
3.根據權利要求1所述的方法,還包括:
通過對所述智能合約進行拓撲分析,生成用于表示所有元數據之間的調用關系的拓撲圖;
在所述拓撲圖中,查找最小入口函數集合,其中,所述最小入口函數集合中的每個函數均未被其他元數據調用,并且所述最小入口函數集合包括用于遍歷所述拓撲圖中的所有元數據所需的最小數量的函數;以及
基于所述最小入口函數集合中的每個函數,測試所述智能合約。
4.根據權利要求3所述的方法,還包括:
在所述拓撲圖中,查找被頻繁調用的函數和變量;以及
基于所查找到的被頻繁調用的函數和變量,測試所述智能合約。
5.根據權利要求4所述的方法,還包括:
基于在先前測試中未被直接調用的函數,測試所述智能合約。
6.根據權利要求3所述的方法,其中,生成所述拓撲圖包括:
通過分別分析多文件智能合約的所有文件,建立針對多文件智能合約的元數據庫;
基于所述元數據庫,生成所有元數據之間的調用關系;以及
基于所述調用關系,生成所述拓撲圖。
7.根據權利要求6所述的方法,其中,在生成所有元數據之間的調用關系時,設置以下限制:函數和修飾符能夠調用函數、事件、修飾符以及變量,而事件和變量只能被調用。
8.根據權利要求7所述的方法,其中,在基于所述元數據庫而生成所有元數據之間的調用關系時,使用多重繼承和/或多層繼承方法,確定被調用的元數據來自哪個合約。
9.一種用于測試智能合約的裝置,包括:
檢測邏輯風險單元,被配置成利用用于檢測并定位邏輯風險的操作碼,檢測所述智能合約中的邏輯風險;
定位邏輯風險單元,被配置成基于所述用于檢測并定位邏輯風險的操作碼中的定位信息,定位出所述智能合約中的包含所檢測到的邏輯風險的至少一個函數;以及
測試單元,被配置成基于所述至少一個函數,測試所述智能合約。
10.根據權利要求9所述的裝置,其中,在所述檢測邏輯風險單元中,通過對用于檢測邏輯風險的操作碼與具有定位信息的操作碼進行映射,將所述定位信息添加到所述用于檢測邏輯風險的操作碼中,從而生成所述用于檢測并定位邏輯風險的操作碼。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于富士通株式會社,未經富士通株式會社許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710834235.4/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種基于區塊鏈的錢包用戶身份驗證方法和系統
- 下一篇:用轉換進行數據保護





