说明:收录全网最新的团体标准 提供单次或批量下载
(19)中华 人民共和国 国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202111668909.0 (22)申请日 2021.12.3 0 (71)申请人 中山大学 地址 510275 广东省广州市新港西路13 5号 (72)发明人 郑子彬 唐秀雯 蒋子规  (74)专利代理 机构 北京集佳知识产权代理有限 公司 11227 代理人 彭祯奇 (51)Int.Cl. G06F 8/71(2018.01) G06F 8/41(2018.01) G06F 40/253(2020.01) G06F 40/30(2020.01) G06N 3/04(2006.01) G06N 3/08(2006.01) (54)发明名称 一种基于图神经网络的智能合约代码补全 方法及装置 (57)摘要 本发明公开了一种基于图神经网络的智能 合约代码补全 方法及装置, 其中方法包括以下步 骤: 根据智能合约源代码的版本号构建多个智能 合约源代码数据集; 根据各数据集中的智能合约 源代码的语义信息和业界安全实践构建对应的 代码表示图; 构建基于门控图神经网络的代码补 全模型, 利用所述代码表示图训练所述代码补全 模型得到训练好的所述代码补全模 型; 将待补全 智能合约对应的代码表示图嵌入到训练好的所 述代码补全模 型中, 进行代码补全 预测得到补词 列表。 本发 明构建代码表示图时考虑了智能合约 源代码的语义信息, 能快速准确地预测出用于补 全智能合约的代码词, 并结合业界安全实践模 式, 提高了智能合约预测代码词的安全性。 权利要求书2页 说明书14页 附图6页 CN 114296787 A 2022.04.08 CN 114296787 A 1.一种基于图神经网络的智能合约代码补全方法, 其特 征在于, 包括以下步骤: 根据智能合约源代码的版本号构建多个智能合约源代码数据集; 根据各数据集中的智能合约源代码的语义信息和业界安全实践构建对应的代码表示 图; 构建基于门控图神经网络的代码补全模型, 利用所述代码表示图训练所述代码补全模 型得到训练好的所述代码补全 模型; 将待补全智能合约对应的代码表示图嵌入到训练好的所述代码补全模型中, 进行代码 补全预测得到补词列表。 2.根据权利要求1所述的基于图神经网络的智能合约代码补全方法, 其特征在于, 根据 智能合约源代码的版本号构建多个智能合约源代码数据集包括: 获取区块链公链上的智能合约源代码, 通过安全分析工具对所述智能合约源代码进行 检测得到安全的智能合约, 根据所述智能合约源代码的版本号将所述智能合约分为多个智 能合约源代码数据集。 3.根据权利要求1所述的基于图神经网络的智能合约代码补全方法, 其特征在于, 根据 各数据集中的智能合约源代码的语义信息和业界安全实 践构建对应的代码表示图包括: 将各数据集中的各智能合约源代码解析成对应的抽象语法树; 将所述抽象语法树中的节点作为代码表示图的节点, 根据智能合约源代码的语义信 息 在代码表示图中添加多种类型的语义 边; 从所述抽象语法树中筛选出符合业界安全实践的代码片段, 在所述代码表示图中为代 码片段中的节点间添加特 征边。 4.根据权利要求3所述的基于图神经网络的智能合约代码补全方法, 其特征在于, 所述 语义边至少包括: 控制流边和数据流边, 所述控制流边表示智能合约源代码中的控制流信息, 所述数据 流边表示智能合约源代码中的数据流信息 。 5.根据权利要求4所述的基于图神经网络的智能合约代码补全方法, 其特征在于, 所述 控制流边至少包括以下控制流类型: if语句、 whi le语句、 do  while语句、 for语句、 as sert语句和require语句。 6.根据权利要求3所述的基于图神经网络的智能合约代码补全方法, 其特征在于, 从所 述抽象语法树中筛选出符合业界安全实践的代码片段, 在所述代码表示图中为代码片段中 的节点间添加特 征边包括: 根据智能合约执行相关的业界安全实践, 从所述抽象语法树中筛选出符合业界安全实 践的代码片段, 在所述代码表示图中为包含在所述代码片段中的节点间添加表示遵循业界 安全实践的特征边。 7.一种基于图神经网络的智能合约代码补全 装置, 其特 征在于, 包括: 数据集构建模块, 用于根据智能合约源代码的版本号构建多个智能合约源代码数据 集; 代码表示图构建模块, 用于根据各数据集中的智能合约源代码的语义信 息和业界安全 实践构建对应的代码表示图; 代码补全模型训练模块, 用于构建基于门控图神经网络的代码补全模型, 利用所述代权 利 要 求 书 1/2 页 2 CN 114296787 A 2码表示图训练所述代码补全 模型得到训练好的所述代码补全 模型; 代码补全预测模块, 用于将待补全智能合约对应的代码表示图嵌入到训练好的所述代 码补全模型中, 进行代码补全预测得到补词列表。 8.根据权利要求7所述的基于图神经网络的智能合约代码补全装置, 其特征在于, 数据 集构建模块 根据智能合约源代码的版本号构建多个智能合约源代码数据集包括: 所述数据集构建模块获取区块链公链上的智能合约源代码, 通过安全分析工具对所述 智能合约源代码进行检测得到安全的智能合约, 根据所述智能合约源代码的版本号将所述 智能合约分为多个智能合约源代码数据集。 9.根据权利要求7所述的基于图神经网络的智能合约代码补全装置, 其特征在于, 代码 表示图构建模块根据各数据集中的智能合约源代码的语义信息和 业界安全实践构建对应 的代码表示图包括: 所述代码表示图构建模块将各数据集中的各智能合约源代码解析成对应的抽象语法 树; 将所述抽象语法树中的节点作为代码表示图的节点, 根据智能合约源代码的语义信 息 在代码表示图中添加多种类型的语义 边; 从所述抽象语法树中筛选出符合业界安全实践的代码片段, 在所述代码表示图中为代 码片段中的节点间添加特 征边。 10.根据权利要求9所述的基于图神经网络的智能合约代码补全装置, 其特征在于, 代 码表示图构建模块从所述抽象语法树中筛选出符合业界安全实践的代码片段, 在所述代码 表示图中为代码片段中的节点间添加特 征边包括: 所述代码表示图构建模块根据智能合约执行相关的业界安全实践, 从所述抽象语法树 中筛选出符合业界安全实践的代码片段, 在所述代码表示图中为包含在所述代码片段中的 节点间添加表示遵循业界安全实 践的特征边。权 利 要 求 书 2/2 页 3 CN 114296787 A 3

.PDF文档 专利 一种基于图神经网络的智能合约代码补全方法及装置

文档预览
中文文档 23 页 50 下载 1000 浏览 0 评论 309 收藏 3.0分
温馨提示:本文档共23页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 一种基于图神经网络的智能合约代码补全方法及装置 第 1 页 专利 一种基于图神经网络的智能合约代码补全方法及装置 第 2 页 专利 一种基于图神经网络的智能合约代码补全方法及装置 第 3 页
下载文档到电脑,方便使用
本文档由 人生无常 于 2024-03-19 03:54:47上传分享
友情链接
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。