一种基于变异fuzz的智能合约安全测试方法

    公开(公告)号:CN111459786B

    公开(公告)日:2023-08-29

    申请号:CN201910051630.4

    申请日:2019-01-18

    Applicant: 南京大学

    Abstract: 本发明提出一种基于变异fuzz的智能合约安全测试方法,该方法以智能合约的源代码作为输入,获取智能合约的二进制接口(Application Binary Interface,ABI),从ABI中找到函数类型的元素,提取它们的函数声明;在此基础上,进一步开展测试数据生成:若被测函数没有种子,则随机生成测试数据,否则将会有一定几率基于种子变异产生测试数据;接着,使用测试数据执行私有链上的智能合约,进而开展漏洞检测,更新种子,再次回到测试输入产生步骤,如此反复直到达到事先设置测试终止条件(该终止条件可以为测试时间、路径覆盖率等)。通过该方法,测试人员可以在短时间内检查智能合约是否存在安全性问题,并且可以参考输入复现其问题。

    一种结合源代码语义与语法特征的基于CNN的bug定位方法

    公开(公告)号:CN110825381A

    公开(公告)日:2020-02-21

    申请号:CN201910951999.0

    申请日:2019-09-29

    Applicant: 南京大学

    Abstract: 一种结合源代码语义与语法特征的基于卷积神经网络的bug定位方法,其特征是提出一种根据用户提交的bug报告定位到产生bug的源代码文件的方法,该方法使用CNN分别对bug报告、源代码语义以及源代码语法进行特征提取,再对这些特征进行融合并提取出统一的特征,最后使用CNN对bug报告和源代码进行相关性预测,得到与bug报告相关的TopK份源代码文件。从而使得当用户提交新的bug报告时,维护人员能及时定位到相关源代码文件并通知开发人员进行修复,从而提高修复bug以及项目维护的效率。该方法的整体流程如摘要附图所示。

    一种基于变异fuzz的智能合约安全测试方法

    公开(公告)号:CN111459786A

    公开(公告)日:2020-07-28

    申请号:CN201910051630.4

    申请日:2019-01-18

    Applicant: 南京大学

    Abstract: 本发明提出一种基于变异fuzz的智能合约安全测试方法,该方法以智能合约的源代码作为输入,获取智能合约的二进制接口(Application Binary Interface,ABI),从ABI中找到函数类型的元素,提取它们的函数声明;在此基础上,进一步开展测试数据生成:若被测函数没有种子,则随机生成测试数据,否则将会有一定几率基于种子变异产生测试数据;接着,使用测试数据执行私有链上的智能合约,进而开展漏洞检测,更新种子,再次回到测试输入产生步骤,如此反复直到达到事先设置测试终止条件(该终止条件可以为测试时间、路径覆盖率等)。通过该方法,测试人员可以在短时间内检查智能合约是否存在安全性问题,并且可以参考输入复现其问题。

    一种功能粒度上基于语义信息的源代码相似度评估方法

    公开(公告)号:CN110737469A

    公开(公告)日:2020-01-31

    申请号:CN201910951997.1

    申请日:2019-09-29

    Applicant: 南京大学

    Abstract: 一种功能粒度上基于语义信息的源代码相似度评估方法,其特征是在功能粒度上使用标识符和控制流图对源码分别进行表示,其中功能是由函数和函数间的调用关系组成的介于源代码文件和函数之间的代码表示,计算功能对应的标识符和控制流图的嵌入向量,将控制流图中节点对应的代码片段用相应的标识符表示替换,再与控制流图的嵌入向量组合得到功能的嵌入向量,接着计算功能的嵌入向量之间的距离,得到源代码之间的相似度,可以较为准确的衡量Type-4克隆。

    一种功能粒度上基于语义信息的源代码相似度评估方法

    公开(公告)号:CN110737469B

    公开(公告)日:2021-09-03

    申请号:CN201910951997.1

    申请日:2019-09-29

    Applicant: 南京大学

    Abstract: 一种功能粒度上基于语义信息的源代码相似度评估方法,其特征是在功能粒度上使用标识符和控制流图对源码分别进行表示,其中功能是由函数和函数间的调用关系组成的介于源代码文件和函数之间的代码表示,计算功能对应的标识符和控制流图的嵌入向量,将控制流图中节点对应的代码片段用相应的标识符表示替换,再与控制流图的嵌入向量组合得到功能的嵌入向量,接着计算功能的嵌入向量之间的距离,得到源代码之间的相似度,可以较为准确的衡量Type‑4克隆。

Patent Agency Ranking