[發明專利]面向Solidity智能合約的缺陷預測方法在審
| 申請號: | 202011562073.1 | 申請日: | 2020-12-25 |
| 公開(公告)號: | CN112579463A | 公開(公告)日: | 2021-03-30 |
| 發明(設計)人: | 楊慧文;崔展齊;賈明華;劉秀磊;劉建賓;鄭麗偉 | 申請(專利權)人: | 北京信息科技大學 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 北京睿智保誠專利代理事務所(普通合伙) 11732 | 代理人: | 周新楣 |
| 地址: | 100192 北*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 面向 solidity 智能 合約 缺陷 預測 方法 | ||
本發明公開了一種面向Solidity智能合約的缺陷預測方法,應用于軟件缺陷預測技術領域,首先從Solidity源碼中提取代碼模塊的度量元,并為每個代碼模塊標記缺陷數量,從而構建缺陷預測數據集;然后針對Solidity缺陷預測數據集中的類不平衡問題,采用過采樣方法進行數據預處理;最后分別構建缺陷數量預測模型和缺陷傾向性預測模型,并評估模型的性能。本發明將度量元集與Solidity智能合約缺陷檢測結果結合,構建了Solidity智能合約缺陷預測數據集,能夠更好地描述Solidity智能合約的特征,基于以上數據集,分別驗證了缺陷數量預測和缺陷傾向性預測問題中,不同模型的性能差異。
技術領域
本發明涉及軟件缺陷預測技術領域,更具體的說是涉及一種面向Solidity智能合約的缺陷預測方法。
背景技術
區塊鏈是以比特幣為代表的數字加密貨幣體系的核心支撐技術。區塊鏈技術的核心優勢是去中心化,為解決中心化機構存在的高成本、低效率以及數據存儲不安全等問題提供了解決方案。區塊鏈技術的研究與應用呈現爆發式增長態勢,政府部門、金融機構、科技企業和資本市場均等均在探索利用區塊鏈技術解決實際問題的方法。
智能合約是區塊鏈的核心構成要素,是一種用算法和程序來編制合同條款、運行在區塊鏈且可按照規則自動執行的數字化協議。智能合約最早于1994年提出,隨著區塊鏈技術的出現受到廣泛關注。通過編寫智能合約可以實現更復雜的應用,從而拓展了區塊鏈的功能。目前,智能合約在傳統金融資產,以及社會系統中的資產管理、合同管理等方面發揮作用,如股權眾籌,又或基于智能合約制定投票協議等。
智能合約在拓展區塊鏈功能的同時,也帶來了潛在的安全風險,智能合約的缺陷會對財產造成了巨大的損失,如:2017年11月Parity錢包遭到攻擊,導致2.85億美元的以太幣被凍結;2016年6月最大眾籌項目TheDAO的300多萬以太幣被非法轉移等,并且與傳統軟件不同,智能合約在部署后進行補丁修復十分困難,因此智能合約的質量保證技術引起了工業界和學術界的廣泛關注。
軟件缺陷預測是缺陷檢測技術的有效補充,軟件缺陷預測技術通過分析軟件代碼或開發過程,設計與缺陷相關的度量元,借助機器學習等方法,預測軟件模塊的缺陷傾向性或缺陷數量,根據預測結果優化缺陷檢測資源的分配,或判斷系統的測試充分程度,以及作為軟件是否可以交付的依據,以促進軟件質量的提高。
但據我們所知,在智能合約領域還沒有缺陷預測的相關研究。將軟件缺陷預測技術應用于智能合約領域,面臨以下挑戰:
尚不存在智能合約缺陷預測數據集。
現有的度量元集關注代碼復雜性以及面向對象程序的特征,而智能合約作為一種新型的、涉及到金額變動的程序,目前缺少有針對性的度量元集描述智能合約的相關特征。
因此,如何提供一種面向Solidity智能合約的缺陷預測方法是本領域技術人員亟需解決的問題。
發明內容
有鑒于此,本發明提供了一種面向Solidity智能合約的缺陷預測方法,將度量元集和Solidity缺陷檢測結果結合,構建了Solidity智能合約缺陷預測數據集,能夠更好地描述Solidity智能合約的特征,基于以上數據集,分別驗證了缺陷數量預測和缺陷傾向性預測問題中,不同模型的性能差異。對于缺陷傾向性預測問題,進一步分析了使用過采樣技術處理類不平衡數據集是否會提高預測性能。
為了實現上述目的,本發明提供如下技術方案:
一種面向Solidity智能合約的缺陷預測方法,具體步驟如下:
從源代碼中提取度量元信息,并對該源代碼進行缺陷檢測,得到Solidity缺陷檢測信息,將兩者信息根據contract/library進行對應組合,構成缺陷數據集;
利用回歸模型和分類模型對預測Solidity智能合約的進行預測。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京信息科技大學,未經北京信息科技大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011562073.1/2.html,轉載請聲明來源鉆瓜專利網。





