[發明專利]一種區塊鏈虛擬機的測試方法和系統有效
| 申請號: | 202110087607.8 | 申請日: | 2021-01-22 |
| 公開(公告)號: | CN112905447B | 公開(公告)日: | 2021-10-26 |
| 發明(設計)人: | 王海軍;鄔萌;傅瀅 | 申請(專利權)人: | 支付寶(杭州)信息技術有限公司 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36;G06F9/455 |
| 代理公司: | 成都七星天知識產權代理有限公司 51253 | 代理人: | 袁春曉 |
| 地址: | 310000 浙江省杭州市*** | 國省代碼: | 浙江;33 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 區塊 虛擬機 測試 方法 系統 | ||
1.一種區塊鏈虛擬機的測試方法,包括:
獲取智能合約的源代碼程序文件;
對所述源代碼程序文件進行編譯,得到能夠被虛擬機執行的可執行代碼文件;
對所述可執行代碼文件中的至少一個代碼段進行修改得到測試用可執行代碼文件;其中,代碼段包括一行或多行代碼;所述修改使得修改后的代碼段的輸入操作數的數量和類型與修改前的所述代碼段的輸入操作數的數量和類型一致,修改后的代碼段的輸出操作數的數量和類型與修改前的所述代碼段的輸出操作數的數量和類型一致;
通過虛擬機執行所述測試用可執行代碼文件,以對所述虛擬機進行測試。
2.如權利要求1所述的方法,所述對所述可執行代碼文件中的至少一個代碼段進行修改得到所述測試用可執行代碼文件包括:
獲取所述可執行代碼文件的可理解文本,所述可理解文本用于幫助理解所述可執行代碼文件中代碼的操作;
基于所述可理解文本對所述可執行代碼文件中的至少一個代碼段進行修改。
3.如權利要求1所述的方法,所述修改包括以下中的一種或多種:
對所述代碼段中操作數的存儲地址進行修改、對所述代碼段中操作數的數值進行修改、將所述代碼段中操作碼變更為相同類型的其他操作碼;其中,相同類型的操作碼具有相同的操作數數量與操作數類型。
4.如權利要求1所述的方法,還包括:
獲取所述測試用可執行代碼文件在虛擬機上執行時對所述虛擬機的代碼覆蓋率;
基于所述代碼覆蓋率確定所述測試用可執行代碼文件是否能夠被所述虛擬機有效執行;
若能夠被有效執行,則將所述測試用可執行代碼文件保留,否則,丟棄所述測試用可執行代碼文件。
5.如權利要求4所述的方法,還包括:
對保留的測試用可執行代碼文件再次修改,以獲得新的測試用可執行代碼文件。
6.一種區塊鏈虛擬機的測試系統,包括:
源代碼獲取模塊:用于獲取智能合約的源代碼程序文件;
可執行代碼獲取模塊:用于對所述源代碼程序文件進行編譯,得到能夠被虛擬機執行的可執行代碼文件;
測試文件確定模塊:用于對所述可執行代碼文件中的至少一個代碼段進行修改得到測試用可執行代碼文件;其中,代碼段包括一行或多行代碼;所述修改使得修改后的代碼段的輸入操作數的數量和類型與修改前的所述代碼段的輸入操作數的數量和類型一致,修改后的代碼段的輸出操作數的數量和類型與修改前的所述代碼段的輸出操作數的數量和類型一致;
測試模塊:用于通過所述虛擬機執行所述測試用可執行代碼文件,以對所述虛擬機進行測試。
7.如權利要求6所述的系統,所述測試文件確定模塊還用于:
獲取所述可執行代碼文件的可理解文本,所述可理解文本用于幫助理解所述可執行代碼文件中代碼的操作;
基于所述可理解文本對所述可執行代碼文件中的至少一個代碼段進行修改。
8.如權利要求6所述的系統,所述修改包括以下中的一種或多種:
對所述代碼段中操作數的存儲地址進行修改、對所述代碼段中操作數的數值進行修改、將所述代碼段中操作碼變更為相同類型的其他操作碼;其中,相同類型的操作碼具有相同的操作數數量與操作數類型。
9.如權利要求6所述的系統,還包括有效代碼確定模塊,用于:
獲取所述測試用可執行代碼文件在所述虛擬機上執行時對所述虛擬機的代碼覆蓋率;
基于所述代碼覆蓋率確定所述測試用可執行代碼文件是否能夠被所述虛擬機有效執行;
若能夠被有效執行,則將所述測試用可執行代碼文件保留,否則,丟棄所述測試用可執行代碼文件。
10.如權利要求9所述的系統,所述有效代碼確定模塊還用于:
對保留的測試用可執行代碼文件再次修改,以獲得新的測試用可執行代碼文件。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于支付寶(杭州)信息技術有限公司,未經支付寶(杭州)信息技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110087607.8/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種三通道多氧燃燒器
- 下一篇:一種火焰合成納米顆粒的燃氣配氣設備





