CN113515442A - 基于函数签名相似度计算的智能合约测试种子推荐方法 - Google Patents

基于函数签名相似度计算的智能合约测试种子推荐方法 Download PDF

Info

Publication number
CN113515442A
CN113515442A CN202110324763.1A CN202110324763A CN113515442A CN 113515442 A CN113515442 A CN 113515442A CN 202110324763 A CN202110324763 A CN 202110324763A CN 113515442 A CN113515442 A CN 113515442A
Authority
CN
China
Prior art keywords
function
tested
signature
intelligent contract
similarity
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202110324763.1A
Other languages
English (en)
Inventor
刘哲
周滕
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing University of Aeronautics and Astronautics
Original Assignee
Nanjing University of Aeronautics and Astronautics
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nanjing University of Aeronautics and Astronautics filed Critical Nanjing University of Aeronautics and Astronautics
Priority to CN202110324763.1A priority Critical patent/CN113515442A/zh
Publication of CN113515442A publication Critical patent/CN113515442A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/033Test or assess software

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Computation (AREA)
  • Evolutionary Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computational Linguistics (AREA)
  • Databases & Information Systems (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了基于函数签名相似度计算的智能合约测试种子推荐方法,从以太坊区块中获取历史交易中出现的执行函数与相应输入并存入数据文件,随后对待测合约的函数进行函数签名的提取,将每一个函数签名与数据文件中出现的执行函数的函数签名进行比对,借助对文本的编码以及机器学习模型BERT获取每一对函数的相似度系数,从中挑选与待测合约函数最相似的k个执行函数的输入作为测试种子,来有效地测试智能合约。本发明方法能够高效产生一些符合实际意义、优质的测试种子,缓解了进行智能合约测试时缺失优质种子而无法深入检测合约缺陷和漏洞的问题。

Description

基于函数签名相似度计算的智能合约测试种子推荐方法
技术领域
本发明涉及基于函数签名相似度计算的智能合约测试种子推荐方法,属于智能合约开发与测试技术领域。
背景技术
自从出现了去中心化的区块链技术用来进行加密货币的交易,智能合约技术也逐渐受到了工业界和学术界的关注。智能合约给交易的参与者提供了一种可信交易机制,不需要中心机构的帮助就能够避免许多可能的交易异常和损失。智能合约是一种能够自我执行的程序,它同时为区块链平台增添更多可能的功能与应用,比如众筹、游戏等。例如在全球大型开源去中心化应用平台以太坊上,就包含了数以百计的智能合约,每一份智能合约都可以存储大量以太币,它是一种能在以太坊上进行交易的加密货币。
由于智能合约的执行往往牵涉金钱交易,智能合约中存在的安全问题往往会导致恐怖的经济损失,例如历史上臭名昭著的DAO攻击导致了以太坊巨大的货币损失,并且影响了以太坊社区的公平性。像这类事件说明了在智能合约部署之前提升合约代码质量的重要性,但是实际检测合约漏洞是非常困难的,因为用作编写智能合约的语言语义十分复杂。不过由于智能合约相比于普通的应用软件,其篇幅较小且功能相对单一,因此在现实世界中许多智能合约代码相似度极高,功能也几乎相同,例如基于以太坊发行的代币、投票等。
在之前的研究中有很多测试智能合约的方法依赖于模糊测试和变异,因为模糊测试和变异可以产生大量的测试用例,可以高吞吐地尝试使用多次测试来检测异常以及获得产生异常的输入。但是目前的方法主要存在的问题在于:(1)比较依赖于现有存在的输入,例如通过变异来生成更优质的种子,往往依靠先前已经存在的较为优质的种子,但是无法保证初始测试种子的质量;(2)产生种子的过程十分随机,这样导致了巨大的搜索空间,不利于高效地测试并检测漏洞。例如在对智能合约中整数类型的数据进行测试时,搜索空间达到了2256,这会产生大量无效数据;(3)由于随机产生测试种子,很多产生的测试用例缺乏真实性,是难以出现在现实交易中的。目前的研究较少关注此类问题。
发明内容
本发明所要解决的技术问题是:提供基于函数签名相似度计算的智能合约测试种子推荐方法,该方法可以高效产生一些符合实际意义、优质的测试种子,并且缓解了测试过程中种子搜索空间大的问题,同时保证了效率和吞吐率。
本发明为解决上述技术问题采用以下技术方案:
基于函数签名相似度计算的智能合约测试种子推荐方法,包括如下步骤:
步骤1,从以太坊公有链的区块上获取所有的交易信息Ti,1≤i≤n,其中n表示公有链上交易的总数,对于每一个交易Ti,获取交易中触发的智能合约执行函数
Figure BDA0002994169900000021
每一个执行函数
Figure BDA0002994169900000022
带有触发该执行函数的输入
Figure BDA0002994169900000023
则有执行函数和输入对
Figure BDA0002994169900000024
将所有交易的执行函数与输入对保存起来,形成数据文件
Figure BDA0002994169900000025
步骤2,对数据文件D中各个执行函数
Figure BDA0002994169900000026
解析得到执行函数的函数签名
Figure BDA0002994169900000027
则解析后数据文件
Figure BDA0002994169900000028
步骤3,对待测合约,获取其待测函数序列f1,f2,...,fm,其中m表示待测合约中总共存在的待测函数个数,对每个待测函数fj解析得到待测函数的函数签名sigj,1≤j≤m;
步骤4,对每一个待测函数的函数签名sigj进行编码得到待测函数编码ej;同理对每一个执行函数的函数签名
Figure BDA0002994169900000029
进行编码得到执行函数编码Ei
步骤5,对于待测函数fj,使用待测函数编码ej与每一个执行函数编码Ei计算相似度值similarity_value,并将所有相似度值按由大到小的顺序进行排序,选择排序前k的相似度值,这些相似度值对应的执行函数的输入作为用来测试待测函数fj的种子输入。
作为本发明的一种优选方案,步骤2所述执行函数的函数签名,其具体结构为:(funcName,parameterType1,parameterType2,...,parameterTypeN),其中,funcName表示执行函数的函数名,parameterType表示执行函数的输入参数的类型,N表示输入参数的类型总数。
作为本发明的一种优选方案,所述步骤3所述待测函数的函数签名,其具体结构为:(funcName,parameterType1,parameterType2,...,parameterTypeM),其中,funcName表示待测函数的函数名,parameterType表示待测函数的输入参数的类型,M表示输入参数的类型总数。
作为本发明的一种优选方案,步骤4所述对每一个待测函数的函数签名sigj进行编码得到待测函数编码ej中,编码采用自然语言处理模型BERT,且模型BERT的输入需要使用待测函数的函数签名的文本表示方式,即funcName parameterType1 parameterType2…parameterTypeM,在输入之前将文本表示方式进行分词;模型BERT的输出为一个m×p的向量,其中m为待测函数个数,p为模型BERT内部设置的向量长度参数。
作为本发明的一种优选方案,步骤5所述相似度值similarity_value的计算公式如下:
similarity_value=cos(ej,Ei)
其中,ej表示待测函数编码,Ei表示执行函数编码。
本发明采用以上技术方案与现有技术相比,具有以下技术效果:
本发明通过提出一种基于函数签名相似度计算的智能合约测试种子推荐方法,自动化地帮助开发者提供待测合约的测试用例,同时缓解了一些测试工具无法快速获得优质初始种子的问题,一定程度上缩小了种子的搜索空间。另外,由于现实生活中的智能合约代码相似度极高,因此该方法具有较高的通用性和扩展性,并且产生的测试种子贴合待测合约的语义信息。本发明可以提高智能合约开发以及代码测试与漏洞检测的效率。
附图说明
图1是本发明基于函数签名相似度计算的智能合约测试种子推荐方法的流程图。
具体实施方式
下面详细描述本发明的实施方式,所述实施方式的示例在附图中示出。下面通过参考附图描述的实施方式是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
针对智能合约缺乏优质并且真实的测试种子,本发明提出了一种基于函数签名相似度计算的智能合约测试种子推荐方法,使用现实世界中的真实的交易执行函数与相关的输入,通过计算待测函数签名与执行函数签名的相似度,将真实的输入推荐给待测函数进行测试。本发明的目标在于保证测试种子数量的同时,能够缩小测试种子的搜索空间,更精准地推荐出合法、优质且真实的测试种子。
本发明的推荐方法主要分为数据预处理、向量表示、种子生成三个阶段。
在介绍这三个阶段之前,首先介绍一下本发明中所使用到的参数表述。首先从以太坊公有链的区块上获取交易信息T1,T2,...,Tn,其中n代表公链上交易的总数,其值会随着交易的执行而增加。对于每一个交易Ti(1≤i≤n),包含了交易中触发的智能合约执行函数
Figure BDA0002994169900000041
在该交易中每一个执行函数还会带有触发该函数的输入
Figure BDA0002994169900000042
因此对于一笔交易可以得到执行函数和输入对
Figure BDA0002994169900000043
由于一共可以获取n组交易,因此将这些执行函数与输入对保存起来,形成数据文件
Figure BDA0002994169900000044
对数据文件中各个执行函数
Figure BDA0002994169900000045
解析得到其函数签名
Figure BDA0002994169900000046
因此获得解析后数据文件
Figure BDA0002994169900000047
对于待测合约可以获取其待测函数序列f1,f2,......,fm,其中m代表待测合约中总共存在的函数个数。对每个函数解析得到函数签名序列sig1,sig2,...,sigm。最后对于每一个待测函数的函数签名sigj(1≤j≤m),进行编码得到ej;同理对每一个解析后数据文件中的执行函数的函数签名
Figure BDA0002994169900000048
进行编码得到Ei
下面介绍数据预处理、向量表示、种子生成三个阶段。
1、数据预处理阶段
该阶段根据输入的执行函数原型以及待测函数原型,提取函数签名,其中函数签名结构为(funcName,parameterType1,parameterType2,...,parameterTypeN)。其中funcName代表该函数的函数名,parameterType代表该函数的输入参数的类型。举例说明例如存在智能合约函数原型transfer(address to,uint value),提取函数签名后得到元组(transfer,address,uint)。
2、向量表示阶段
该阶段使用将所有函数签名统一转化为向量表示,在该阶段中使用自然语言处理模型BERT来生成文本Embedding向量。由于在数据预处理阶段中生成的是函数签名元组,在输入到模型之前需要进行文本处理,处理方法是将函数签名元组文本化,即输入形式为:funcName parameterType1 parameterType2…parameterTypeN,例如上述例子中函数文本化后得到语句transfer address uint。随后对该文本进行分词输入至模型。模型最终的输出是一个r×p的向量,其中r为函数个数,r=m或n,p为模型内部设置的向量长度参数。
3、种子生成阶段
该阶段根据待测函数签名所获得的向量ej,与所有数据文件中的执行函数所计算出来的Ei通过下面的公式计算余弦相似值,作为两个函数的相似度:
similarity_value=cos(ej,Ei)
因此可以获取待测函数与所有执行函数的相似度值序列(similarity_value1,similarity_value2,...,similarity_valuej)。然后对该序列按值从高到低进行排序,选定其中的k个数值最高的值所对应的执行函数,可以认为是和待测函数相似度最高的执行函数,将现实交易中该执行函数所使用的输入作为待测函数测试种子,因此可以至少获得k个测试种子。
如图1所示,本发明具体的实施过程如下:
步骤一:从现实以太坊中爬取交易数据,将交易数据中的执行函数与相应的输入保存为数据文件
Figure BDA0002994169900000051
其中
Figure BDA0002994169900000052
代表执行函数,
Figure BDA0002994169900000053
代表该执行函数对应的输入。
步骤二:对数据文件中各个执行函数
Figure BDA0002994169900000054
解析得到其函数签名
Figure BDA0002994169900000055
因此获得解析后数据文件
Figure BDA0002994169900000056
步骤三:对待测合约,获取其待测函数序列f1,f2,...,fm。对每个函数解析得到函数签名序列sig1,sig2,...,sigm
步骤四:对每一个待测函数的函数签名sigj,进行编码得到ej;同理对每一个解析后数据文件中的执行函数的函数签名
Figure BDA0002994169900000061
进行编码得到Ei
步骤五:对于待测函数fj,使用编码ej与每一个执行函数编码Ei计算相似度值similarity_value,然后选择k个相似度值最高的函数在数据文件中所对应的输入作为最终用来测试待测函数的种子输入。
本发明通过从现实世界获取交易中的输入,以此提高测试种子的真实性,并且保持了测试种子一定的随机性,缩小了种子的搜索空间。再通过比对待测函数和现实交易中的执行函数的相似程度,将与待测函数最为相似的函数输入作为测试种子。比对方法是提取函数签名并且进行文本化,然后使用自然语言处理模型BERT生成向量从而计算相似值,这样保留了函数之间的语义,提高了种子的可用性。
本发明主要针对现存的方法中无法产生优质的测试种子来帮助智能合约开发者检测合约代码中的缺陷和漏洞,提出了一种基于函数签名相似度计算的智能合约测试种子推荐方法。通过本发明,可以高效产生一些符合实际意义,优质的测试种子,并且缓解了测试过程中种子搜索空间大的问题,同时保证了效率和吞吐率的问题。
以上实施例仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明保护范围之内。

Claims (5)

1.基于函数签名相似度计算的智能合约测试种子推荐方法,其特征在于,包括如下步骤:
步骤1,从以太坊公有链的区块上获取所有的交易信息Ti,1≤i≤n,其中n表示公有链上交易的总数,对于每一个交易Ti,获取交易中触发的智能合约执行函数
Figure FDA0002994169890000011
每一个执行函数
Figure FDA0002994169890000012
带有触发该执行函数的输入
Figure FDA0002994169890000013
则有执行函数和输入对
Figure FDA0002994169890000014
将所有交易的执行函数与输入对保存起来,形成数据文件
Figure FDA0002994169890000015
步骤2,对数据文件D中各个执行函数
Figure FDA0002994169890000016
解析得到执行函数的函数签名
Figure FDA0002994169890000017
则解析后数据文件
Figure FDA0002994169890000018
步骤3,对待测合约,获取其待测函数序列f1,f2,...,fm,其中m表示待测合约中总共存在的待测函数个数,对每个待测函数fj解析得到待测函数的函数签名sigj,1≤j≤m;
步骤4,对每一个待测函数的函数签名sigj进行编码得到待测函数编码ej;同理对每一个执行函数的函数签名
Figure FDA0002994169890000019
进行编码得到执行函数编码Ei
步骤5,对于待测函数fj,使用待测函数编码ej与每一个执行函数编码Ei计算相似度值similarity_value,并将所有相似度值按由大到小的顺序进行排序,选择排序前k的相似度值,这些相似度值对应的执行函数的输入作为用来测试待测函数fj的种子输入。
2.根据权利要求1所述基于函数签名相似度计算的智能合约测试种子推荐方法,其特征在于,步骤2所述执行函数的函数签名,其具体结构为:(funcName,parameterType1,parameterType2,...,parameterTypeN),其中,funcName表示执行函数的函数名,parameterType表示执行函数的输入参数的类型,N表示输入参数的类型总数。
3.根据权利要求1所述基于函数签名相似度计算的智能合约测试种子推荐方法,其特征在于,所述步骤3所述待测函数的函数签名,其具体结构为:(funcName,parameterType1,parameterType2,...,parameterTypeM),其中,funcName表示待测函数的函数名,parameterType表示待测函数的输入参数的类型,M表示输入参数的类型总数。
4.根据权利要求1所述基于函数签名相似度计算的智能合约测试种子推荐方法,其特征在于,步骤4所述对每一个待测函数的函数签名sigj进行编码得到待测函数编码ej中,编码采用自然语言处理模型BERT,且模型BERT的输入需要使用待测函数的函数签名的文本表示方式,即funcName parameterType1 parameterType2…parameterTypeM,在输入之前将文本表示方式进行分词;模型BERT的输出为一个m×p的向量,其中m为待测函数个数,p为模型BERT内部设置的向量长度参数。
5.根据权利要求1所述基于函数签名相似度计算的智能合约测试种子推荐方法,其特征在于,步骤5所述相似度值similarity_value的计算公式如下:
similarity_value=cos(ej,Ei)
其中,ej表示待测函数编码,Ei表示执行函数编码。
CN202110324763.1A 2021-03-26 2021-03-26 基于函数签名相似度计算的智能合约测试种子推荐方法 Pending CN113515442A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110324763.1A CN113515442A (zh) 2021-03-26 2021-03-26 基于函数签名相似度计算的智能合约测试种子推荐方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110324763.1A CN113515442A (zh) 2021-03-26 2021-03-26 基于函数签名相似度计算的智能合约测试种子推荐方法

Publications (1)

Publication Number Publication Date
CN113515442A true CN113515442A (zh) 2021-10-19

Family

ID=78061999

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110324763.1A Pending CN113515442A (zh) 2021-03-26 2021-03-26 基于函数签名相似度计算的智能合约测试种子推荐方法

Country Status (1)

Country Link
CN (1) CN113515442A (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150348164A1 (en) * 2014-04-03 2015-12-03 Uma Satish Doshi Method and system for music recommendation
CN107783758A (zh) * 2016-08-25 2018-03-09 北京航空航天大学 一种智能合约工程方法
CN110221956A (zh) * 2018-03-02 2019-09-10 富士通株式会社 用于生成区块链智能合约的测试用例的方法和设备
CN111125716A (zh) * 2019-12-19 2020-05-08 中国人民大学 一种以太坊智能合约漏洞检测方法及装置
CN111459786A (zh) * 2019-01-18 2020-07-28 南京大学 一种基于变异fuzz的智能合约安全测试方法
CN111563742A (zh) * 2020-05-11 2020-08-21 西安邮电大学 智能合约交易顺序依赖漏洞变异模糊测试方法
CN112131115A (zh) * 2020-09-23 2020-12-25 腾讯科技(深圳)有限公司 一种智能合约模糊测试的方法、装置及存储介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150348164A1 (en) * 2014-04-03 2015-12-03 Uma Satish Doshi Method and system for music recommendation
CN107783758A (zh) * 2016-08-25 2018-03-09 北京航空航天大学 一种智能合约工程方法
CN110221956A (zh) * 2018-03-02 2019-09-10 富士通株式会社 用于生成区块链智能合约的测试用例的方法和设备
CN111459786A (zh) * 2019-01-18 2020-07-28 南京大学 一种基于变异fuzz的智能合约安全测试方法
CN111125716A (zh) * 2019-12-19 2020-05-08 中国人民大学 一种以太坊智能合约漏洞检测方法及装置
CN111563742A (zh) * 2020-05-11 2020-08-21 西安邮电大学 智能合约交易顺序依赖漏洞变异模糊测试方法
CN112131115A (zh) * 2020-09-23 2020-12-25 腾讯科技(深圳)有限公司 一种智能合约模糊测试的方法、装置及存储介质

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
ARPIT SHUKLA ET AL.: "DwaRa: A Deep Learning-Based Dynamic Toll Pricing Scheme for Intelligent Transportation Systems", 《IEEE TRANSACTIONS ON VEHICULAR TECHNOLOGY ( VOLUME: 69, ISSUE: 11, NOV. 2020)》 *
BO JIANG ET AL.: "ContractFuzzer: Fuzzing Smart Contracts for Vulnerability Detection", 《2018 33RD IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING (ASE)》 *
E. ANDESTA ET AL.: "Testing Smart Contracts Gets Smarter", 《HTTP://ARXIV.ORG/ABS/1912.04780》 *
J. J. HONIG ET AL.: "Practical mutation testing for smart contracts", 《PROCEEDINGS OF THE 2019 INTERNATIONAL WORKSHOPS ON DATA PRIVACY MANAGEMENT》 *
Z. LI ET AL.: "MuSC: A tool for mutation testing of ethereum smart contract", 《PROCEEDINGS OF THE 34TH IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING》 *

Similar Documents

Publication Publication Date Title
Liao et al. Soliaudit: Smart contract vulnerability assessment based on machine learning and fuzz testing
Rajpal et al. Not all bytes are equal: Neural byte sieve for fuzzing
CN104123493B (zh) 应用程序的安全性检测方法和装置
CN105205397B (zh) 恶意程序样本分类方法及装置
CN109816044A (zh) 一种基于wgan-gp和过采样的不平衡学习方法
Wang et al. Representing fine-grained co-occurrences for behavior-based fraud detection in online payment services
CN109598124A (zh) 一种webshell检测方法以及装置
Shakya et al. Smartmixmodel: machine learning-based vulnerability detection of solidity smart contracts
CN113297580B (zh) 基于代码语义分析的电力信息系统安全防护方法及装置
CN114511330B (zh) 一种基于改进的cnn-rf的以太坊庞氏骗局检测方法及系统
Zhou et al. Smartgift: Learning to generate practical inputs for testing smart contracts
CN113052577A (zh) 一种区块链数字货币虚拟地址的类别推测方法及系统
CN112115326A (zh) 一种以太坊智能合约的多标签分类和漏洞检测方法
Tsimpourlas et al. Embedding and classifying test execution traces using neural networks
CN115168865A (zh) 基于领域自适应的跨项目漏洞检测模型
Yan et al. Cross-site scripting attack detection based on a modified convolution neural network
Den Hartogh et al. Barium stars as tracers of s-process nucleosynthesis in AGB stars-II. Using machine learning techniques on 169 stars
Zola et al. Attacking Bitcoin anonymity: generative adversarial networks for improving Bitcoin entity classification
Gu et al. Hierarchical attention network for interpretable and fine-grained vulnerability detection
CN116702157A (zh) 一种基于神经网络的智能合约漏洞检测方法
CN113515442A (zh) 基于函数签名相似度计算的智能合约测试种子推荐方法
CN113761536B (zh) 一种基于业务逻辑的安全检测方法及系统
CN105279434B (zh) 恶意程序样本家族命名方法及装置
Chen et al. PonziFinder: Attention-Based Edge-Enhanced Ponzi Contract Detection
Liu et al. Automated verification and test case generation for input validation

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20211019

RJ01 Rejection of invention patent application after publication