CN108459860A - 区块链智能合约形式化验证代码转换器及转换方法 - Google Patents
区块链智能合约形式化验证代码转换器及转换方法 Download PDFInfo
- Publication number
- CN108459860A CN108459860A CN201810266318.2A CN201810266318A CN108459860A CN 108459860 A CN108459860 A CN 108459860A CN 201810266318 A CN201810266318 A CN 201810266318A CN 108459860 A CN108459860 A CN 108459860A
- Authority
- CN
- China
- Prior art keywords
- language
- code
- grammar rule
- contract
- intelligent contract
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/42—Syntactic analysis
- G06F8/425—Lexical analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/42—Syntactic analysis
- G06F8/427—Parsing
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
本发明公开了区块链智能合约形式化验证代码转换器及方法,将多种语言开发的智能合约程序代码自动化转换为形式化验证辅助证明器可识别运行的中间层语言M+代码,然后通过形式化验证辅助证明器对工具生成的中间语言M+语言代码进行自动化安全验证,高自动化的将智能合约源代码一键转换为形式化验证中间语言M+代码,自动提取形式化代码中的数据类型、运算符、特殊结构、条件和循环语句、函数继承关系、函数限定符等内容,并映射到执行空间执行,从而极大程度的提高区块链智能合约形式化安全验证效率,减少了人工参与度,提高了自动化程度,同时也确保了代码形式化过程的准确性。
Description
技术领域
本发明涉及区块链智能合约安全技术领域,具体涉及区块链智能合约形式化验证代码转换器及转换方法。
背景技术
智能合约是一套以数字形式定义的承诺,包括合约参与方可以在上面执行这些承诺的协议。在区块链技术背景下,智能合约是指运行在区块链上,能够执行某些功能的程序代码。将智能合约以数字化的形式写入区块链中,由区块链技术的特性保障存储、读取、执行整个过程透明可追踪、不可篡改。正因为此特性,一旦因为智能合约程序自身设计问题,导致智能合约的安全漏洞,或将产生不可逆转的重大损失。形式化验证方法是使用数学的公式、定理和系统来验证一个系统的正确性,可以使用该方法验证智能合约代码的安全性,检查代码是否有漏洞。但是传统的形式化验证方法对源码形式化描述阶段代码量大,对安全验证的程序员要求高,并且效率低下,同时也保证了代码形式化过程的准确性。
发明内容
本发明的目的在于提供一种区块链智能合约形式化验证代码转换器及转换方法,解决区块链智能合约形式化验证过程对源码形式化描述阶段代码量大、操作复杂、人工参与量大并且效率低下的问题。
本发明通过下述技术方案实现:
区块链智能合约形式化验证代码转换器,包括:
智能合约语言文法规则库:用于存储不同编程语言的文法规则;
词法分析器:用于读入智能合约程序源程序,结合智能合约语言文法规则库中存储的不同编程语言的文法规则,对输入的字符串进行扫描与分解,识别合法的词素,产生并输出特定规则的词法单元序列;
语法分析器:用于存储简单优先表,接收词法分析器输出的词法单元序列,并将词法单元序列与简单优先表进行比较判断,得出词法单元序列所属的编程语言种类,结合智能合约语言文法规则库中对应的文法规则,对词法单元序列中的词素按照自定义规则生成抽象语法树;
形式化验证语言文法规则库:用于存储形式化验证语言文法规则、以及智能合约编程语言词素与形式化中间语言M+语言词素对接字典表;
语法树对接器:利用对接字典表将语法分析器输出的抽象语法树中的内容一一对应替换,从而生成新的形势化验证中间语言M+语法树;
形式化验证语言推导器:利用中间语言M+的文法规则将语法树对接器输出的中间语言M+语法树生成M+语言代码;
形式化验证代码解析器:解析出形式化验证语言推导器所生成的M+语言代码,得到智能合约代码中的内容,并为其分配内存地址,映射到虚拟执行空间中。
本发明的区块链智能合约形式化验证代码转换器,其主要功能是将多种语言开发的智能合约程序代码自动化转换为形式化验证辅助证明器可识别运行的中间层语言M+代码,然后通过形式化验证辅助证明器对工具生成的中间语言M+语言代码进行自动化安全验证,从而极大程度的提高区块链智能合约形式化安全验证效率,减少了人工参与度,提高了自动化程度,保证了代码形式化过程的准确性。
区块链智能合约形式化验证代码转换方法,包括以下步骤:
(a)词法分析器读入智能合约程序源程序,结合智能合约语言文法规则库中存储的不同编程语言的文法规则,对输入的字符串进行扫描与分解,识别合法的词素,产生并输出特定规则的词法单元序列;
(b)语法分析器接收步骤(a)得到的词法单元序列,并将词法单元序列与存储的简单优先表进行比较判断,得出词法单元序列所属的编程语言种类,结合智能合约语言文法规则库中对应的文法规则,对词法单元序列中的词素按照自定义规则生成抽象语法树;
(c)语法树对接器利用对接字典表将步骤(b)得到的抽象语法树中的内容一一对应替换,从而生成新的形势化验证中间语言M+语法树;
(d)形式化验证语言推导器利用中间语言M+的文法规则将步骤(c)得到的中间语言M+语法树生成M+语言代码;
(e)形式化验证代码解析器解析出步骤(d)生成的M+语言代码,得到智能合约代码中的内容,并为其分配内存地址,映射到虚拟执行空间中。
本发明的区块链智能合约形式化验证代码转换方法,通过分析多种智能合约编程语言,建立不同编程语言的文法规则表,开发词法分析器读入智能合约程序源程序,结合文法规则表,对输入的字符串进行扫描与分解,识别合法的词素,产生并输出特定规则的词法单元序列;按照语法分析方法中的简单优先分析法为文法设计简单优先表,对词法分析得到的单词序列进行语法分析,以判别输入的语句是否属于该文法的语句,然后,结合文法规则表,对单元序列中的词素按照自定义规则生成抽象语法树;建立智能合约编程语言词素与形式化中间语言M+语言词素对接字典表,该对接字典表记录了智能合约编程语言和形式化中间语言M+关键字、运算符、结构体、数组等等所有内容的对接过程,然后通过生成的智能合约抽象语法树,结合词素对接字典表,将智能合约代码的语法树全部内容一一对应替换,从而生成新的形式化验证中间语言M+语法树,形式化验证中间语言M+语法树,结合中间语言M+的文法规则表,生成M+语言的代码,该代码即是智能合约源程序使用形式化中间语言M+描述的代码,解析出使用形式化中间语言M+描述的智能合约代码中的常量、变量、继承关系、函数限定符等内容,并为其分配内存地址,映射到虚拟执行空间中,为后面启动形式化验证器做准备。
本发明与现有技术相比,具有如下的优点和有益效果:
1、本发明区块链智能合约形式化验证代码转换器,将多种语言开发的智能合约程序代码自动化转换为形式化验证辅助证明器可识别运行的中间层语言M+代码,然后通过形式化验证辅助证明器对工具生成的中间语言M+语言代码进行自动化安全验证,从而极大程度的提高区块链智能合约形式化安全验证效率,确保了代码形式化过程的准确性;
2、本发明区块链智能合约形式化验证代码转换方法,通过分析多种智能合约编程语言,建立不同编程语言的文法规则表,开发词法分析器读入智能合约程序源程序,结合文法规则表,对输入的字符串进行扫描与分解,识别合法的词素,产生并输出特定规则的词法单元序列,该方法可面向多种区块链智能合约开发语言编写的程序代码,实现编程语言代码到形式化验证代码的转换;
3、本发明区块链智能合约形式化验证代码转换方法,高自动化的将智能合约源代码一键转换为形式化验证中间语言M+代码,自动提取形式化代码中的数据类型、运算符、特殊结构、条件和循环语句、函数继承关系、函数限定符等内容,并映射到执行空间执行。
附图说明
此处所说明的附图用来提供对本发明实施例的进一步理解,构成本申请的一部分,并不构成对本发明实施例的限定。在附图中:
图1为本发明原理框图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施例对本发明作进一步的详细说明,本发明的示意性实施方式及其说明仅用于解释本发明,并不作为对本发明的限定。
实施例
如图1所示,本发明区块链智能合约形式化验证代码转换器及方法,可以将区块链智能合约源代码一键自动转换为形式化验证中间语言M+描述的程序代码,为了能够更容易让本领域技术人员理解,以下将用以太坊区块链智能合约的形式化验证为例进行说明,其智能合约编程语言为solidity,其并不构成对本发明的任何限制。本领域技术人员在本发明公开的技术内容启示下,将其应用于其他区块链平台,例如超级账本Fabric等,本例中以太坊区块链平台的IBM智能捐款合约应用为例,结合图1,使用本发明工具对智能捐款合约进行形式化验证代码转换的流程进行详细阐述,主要框架结构包括智能合约语言文法规则库:用于存储不同编程语言的文法规则;词法分析器:用于读入智能合约程序源程序,结合智能合约语言文法规则库中存储的不同编程语言的文法规则,对输入的字符串进行扫描与分解,识别合法的词素,产生并输出特定规则的词法单元序列;语法分析器:用于存储简单优先表,接收词法分析器输出的词法单元序列,并将词法单元序列与简单优先表进行比较判断,得出词法单元序列所属的编程语言种类,结合智能合约语言文法规则库中对应的文法规则,对词法单元序列中的词素按照自定义规则生成抽象语法树;形式化验证语言文法规则库:用于存储形式化验证语言文法规则、以及智能合约编程语言词素与形式化中间语言M+语言词素对接字典表;语法树对接器:利用对接字典表将语法分析器输出的抽象语法树中的内容一一对应替换,从而生成新的形势化验证中间语言M+语法树;形式化验证语言推导器:利用中间语言M+的文法规则将语法树对接器输出的中间语言M+语法树生成M+语言代码;形式化验证代码解析器:解析出形式化验证语言推导器所生成的M+语言代码,得到智能合约代码中的内容,并为其分配内存地址,映射到虚拟执行空间中。
实现过程如下:
步骤001:输入智能捐款合约源代码到代码转换器中;
将IBM智能捐款合约源代码输入到代码转换器工具中的solidity code输入框中,本发明工具的界面是使用网页的形式展现,转换之后的代码也是通过网页的方式展现给用户,可非常方便的适配各平台;
步骤002:代码转换器将智能合约源代码转换为形式化验证中间层语言M+描述的代码;
代码转换器读取网页界面输入的智能合约源代码,根据不同的高级语言编写智能合约的文法规则,使用词法分析器产生词法单元序列,并将词法单元序列传入到语法分析器,语法分析器分析词法单元序列,按照文法规则生成中间语法树;代码转换器后台,通过将智能合约solidity语言的语法树和形式化M+语言语法树对接的方式,遍历语法树,将多种高级语言编写的智能合约代码转换为形式化中间语言M+描述的代码程序;
步骤003:解析形式化中间层语言代码,并映射到虚拟执行空间运行;
通过分析生成的形式化验证中间语言M+描述的代码,解析出智能合约代码中的常量、变量、继承关系、函数限定符等内容,分配内存地址,并映射到虚拟执行空间中;本发明验证工具中的虚拟执行空间可模拟真实计算机执行环境,将形式化验证中间层程序在其上运行,可追踪变量和程序逻辑是否符合安全属性。
形式化验证过程可以证明一个系统不存在某个缺陷或符合某个或某些属性,本发明针对不同的安全属性,编写形式化验证安全策略,使用形式化验证器验证虚拟执行空间的程序代码执行的结果是否满足属性定义的条件,从而完成对智能合约属性进行安全验证。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (2)
1.区块链智能合约形式化验证代码转换器,其特征在于包括:
智能合约语言文法规则库:用于存储不同编程语言的文法规则;
词法分析器:用于读入智能合约程序源程序,结合智能合约语言文法规则库中存储的不同编程语言的文法规则,对输入的字符串进行扫描与分解,识别合法的词素,产生并输出特定规则的词法单元序列;
语法分析器:用于存储简单优先表,接收词法分析器输出的词法单元序列,并将词法单元序列与简单优先表进行比较判断,得出词法单元序列所属的编程语言种类,结合智能合约语言文法规则库中对应的文法规则,对词法单元序列中的词素按照自定义规则生成抽象语法树;
形式化验证语言文法规则库:用于存储形式化验证语言文法规则、以及智能合约编程语言词素与形式化中间语言M+语言词素对接字典表;
语法树对接器:利用对接字典表将语法分析器输出的抽象语法树中的内容一一对应替换,从而生成新的形势化验证中间语言M+语法树;
形式化验证语言推导器:利用中间语言M+的文法规则将语法树对接器输出的中间语言M+语法树推导生成M+语言代码;
形式化验证代码解析器:解析出形式化验证语言推导器所生成的M+语言代码,得到智能合约代码中的内容,并为其分配内存地址,映射到虚拟执行空间中。
2.区块链智能合约形式化验证代码转换方法,其特征在于包括以下步骤:
(a)词法分析器读入智能合约程序源程序,结合智能合约语言文法规则库中存储的不同编程语言的文法规则,对输入的字符串进行扫描与分解,识别合法的词素,产生并输出特定规则的词法单元序列;
(b)语法分析器接收步骤(a)得到的词法单元序列,并将词法单元序列与存储的简单优先表进行比较判断,得出词法单元序列所属的编程语言种类,结合智能合约语言文法规则库中对应的文法规则,对词法单元序列中的词素按照自定义规则生成抽象语法树;
(c)语法树对接器利用对接字典表将步骤(b)得到的抽象语法树中的内容一一对应替换,从而生成新的形势化验证中间语言M+语法树;
(d)形式化验证语言推导器利用中间语言M+的文法规则将步骤(c)得到的中间语言M+语法树生成M+语言代码;
(e)形式化验证代码解析器解析出步骤(d)生成的M+语言代码,得到智能合约代码中的内容,并为其分配内存地址,映射到虚拟执行空间中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810266318.2A CN108459860B (zh) | 2018-03-28 | 2018-03-28 | 区块链智能合约形式化验证代码转换器及转换方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810266318.2A CN108459860B (zh) | 2018-03-28 | 2018-03-28 | 区块链智能合约形式化验证代码转换器及转换方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108459860A true CN108459860A (zh) | 2018-08-28 |
CN108459860B CN108459860B (zh) | 2021-03-30 |
Family
ID=63236879
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810266318.2A Active CN108459860B (zh) | 2018-03-28 | 2018-03-28 | 区块链智能合约形式化验证代码转换器及转换方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108459860B (zh) |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109375899A (zh) * | 2018-09-25 | 2019-02-22 | 杭州趣链科技有限公司 | 一种形式验证Solidity智能合约的方法 |
CN109460657A (zh) * | 2018-10-15 | 2019-03-12 | 杭州安恒信息技术股份有限公司 | 一种基于智能合约代码数值溢出的安全检测方法 |
CN109492402A (zh) * | 2018-10-25 | 2019-03-19 | 杭州趣链科技有限公司 | 一种基于规则引擎的智能合约安全评测方法 |
CN109522008A (zh) * | 2018-11-06 | 2019-03-26 | 陕西医链区块链集团有限公司 | 一种区块链智能合约构建方法 |
CN109523383A (zh) * | 2018-10-30 | 2019-03-26 | 广州斯拜若科技有限公司 | 一种智能合约转换系统及方法 |
CN109903164A (zh) * | 2019-01-03 | 2019-06-18 | 广州斯拜若科技有限公司 | 基于区块链的私募股权基金自动化监管方法与系统 |
CN110109675A (zh) * | 2019-04-30 | 2019-08-09 | 翟红鹰 | 智能合约处理方法、装置以及计算机可读存储介质 |
CN110347405A (zh) * | 2019-07-01 | 2019-10-18 | 电子科技大学 | 一种schedule调度模块的形式化验证方法 |
CN110533533A (zh) * | 2019-08-21 | 2019-12-03 | 杭州趣链科技有限公司 | 一种场外交易智能合约的形式验证方法 |
CN110688428A (zh) * | 2019-09-24 | 2020-01-14 | 北京海益同展信息科技有限公司 | 用于发布智能合约的方法和装置 |
CN111124422A (zh) * | 2019-12-25 | 2020-05-08 | 成都互诚在线科技有限公司 | 一种基于抽象语法树的eos智能合约语言转换方法 |
CN111124485A (zh) * | 2019-12-20 | 2020-05-08 | 成都互诚在线科技有限公司 | 一种基于中间语言的形式化规约语言简化方法 |
CN111158692A (zh) * | 2019-12-09 | 2020-05-15 | 华南师范大学 | 智能合约函数相似性的排序方法、系统和存储介质 |
CN111179056A (zh) * | 2019-12-20 | 2020-05-19 | 杭州趣链科技有限公司 | 一种众筹智能合约的形式验证方法 |
CN111240772A (zh) * | 2020-01-22 | 2020-06-05 | 腾讯科技(深圳)有限公司 | 一种基于区块链的数据处理方法、装置及存储介质 |
CN111309305A (zh) * | 2020-02-12 | 2020-06-19 | 扬州大学 | 面向智能合约的代码自动推荐方法、系统、计算机设备和存储介质 |
CN112148613A (zh) * | 2020-09-28 | 2020-12-29 | 财付通支付科技有限公司 | 用于测试区块链服务的智能合约的生成方法及装置 |
CN113031934A (zh) * | 2021-04-06 | 2021-06-25 | 卡斯柯信号有限公司 | 一种用于形式化验证的联锁数据安全转换方法及翻译器 |
CN114331396A (zh) * | 2021-12-28 | 2022-04-12 | 中国科学技术大学 | 面向以太坊智能合约的协议安全属性自动提取方法及系统 |
CN116149671A (zh) * | 2023-04-23 | 2023-05-23 | 中国科学院软件研究所 | 用于翻译智能合约语言的方法和装置、电子设备 |
US12126729B2 (en) | 2019-09-24 | 2024-10-22 | Jingdong Technology Information Technology Co., Ltd. | Method and apparatus for issuing smart contract |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106375317A (zh) * | 2016-08-31 | 2017-02-01 | 北京明朝万达科技股份有限公司 | 一种基于区块链的大数据安全认证方法和系统 |
CN106600405A (zh) * | 2016-11-17 | 2017-04-26 | 复旦大学 | 基于区块链的数据权益保护方法 |
US20170140408A1 (en) * | 2015-11-16 | 2017-05-18 | Bank Of America Corporation | Transparent self-managing rewards program using blockchain and smart contracts |
CN107330701A (zh) * | 2017-07-28 | 2017-11-07 | 中链科技有限公司 | 植入智能合约的方法和设备 |
-
2018
- 2018-03-28 CN CN201810266318.2A patent/CN108459860B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170140408A1 (en) * | 2015-11-16 | 2017-05-18 | Bank Of America Corporation | Transparent self-managing rewards program using blockchain and smart contracts |
CN106375317A (zh) * | 2016-08-31 | 2017-02-01 | 北京明朝万达科技股份有限公司 | 一种基于区块链的大数据安全认证方法和系统 |
CN106600405A (zh) * | 2016-11-17 | 2017-04-26 | 复旦大学 | 基于区块链的数据权益保护方法 |
CN107330701A (zh) * | 2017-07-28 | 2017-11-07 | 中链科技有限公司 | 植入智能合约的方法和设备 |
Non-Patent Citations (1)
Title |
---|
胡凯,白晓敏,高灵超,董爱强: "智能合约的形式化验证方法", 《信息安全研究》 * |
Cited By (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109375899A (zh) * | 2018-09-25 | 2019-02-22 | 杭州趣链科技有限公司 | 一种形式验证Solidity智能合约的方法 |
CN109375899B (zh) * | 2018-09-25 | 2021-08-03 | 杭州趣链科技有限公司 | 一种形式验证Solidity智能合约的方法 |
CN109460657A (zh) * | 2018-10-15 | 2019-03-12 | 杭州安恒信息技术股份有限公司 | 一种基于智能合约代码数值溢出的安全检测方法 |
CN109492402A (zh) * | 2018-10-25 | 2019-03-19 | 杭州趣链科技有限公司 | 一种基于规则引擎的智能合约安全评测方法 |
CN109523383A (zh) * | 2018-10-30 | 2019-03-26 | 广州斯拜若科技有限公司 | 一种智能合约转换系统及方法 |
CN109522008A (zh) * | 2018-11-06 | 2019-03-26 | 陕西医链区块链集团有限公司 | 一种区块链智能合约构建方法 |
CN109522008B (zh) * | 2018-11-06 | 2020-07-10 | 陕西医链区块链集团有限公司 | 一种区块链智能合约构建方法 |
CN109903164A (zh) * | 2019-01-03 | 2019-06-18 | 广州斯拜若科技有限公司 | 基于区块链的私募股权基金自动化监管方法与系统 |
CN110109675A (zh) * | 2019-04-30 | 2019-08-09 | 翟红鹰 | 智能合约处理方法、装置以及计算机可读存储介质 |
CN110109675B (zh) * | 2019-04-30 | 2024-08-20 | 普华云创科技(北京)有限公司 | 智能合约处理方法、装置以及计算机可读存储介质 |
CN110347405A (zh) * | 2019-07-01 | 2019-10-18 | 电子科技大学 | 一种schedule调度模块的形式化验证方法 |
CN110533533A (zh) * | 2019-08-21 | 2019-12-03 | 杭州趣链科技有限公司 | 一种场外交易智能合约的形式验证方法 |
US12126729B2 (en) | 2019-09-24 | 2024-10-22 | Jingdong Technology Information Technology Co., Ltd. | Method and apparatus for issuing smart contract |
CN110688428A (zh) * | 2019-09-24 | 2020-01-14 | 北京海益同展信息科技有限公司 | 用于发布智能合约的方法和装置 |
CN111158692A (zh) * | 2019-12-09 | 2020-05-15 | 华南师范大学 | 智能合约函数相似性的排序方法、系统和存储介质 |
CN111158692B (zh) * | 2019-12-09 | 2023-05-02 | 华南师范大学 | 智能合约函数相似性的排序方法、系统和存储介质 |
CN111179056A (zh) * | 2019-12-20 | 2020-05-19 | 杭州趣链科技有限公司 | 一种众筹智能合约的形式验证方法 |
CN111124485A (zh) * | 2019-12-20 | 2020-05-08 | 成都互诚在线科技有限公司 | 一种基于中间语言的形式化规约语言简化方法 |
CN111124485B (zh) * | 2019-12-20 | 2023-03-10 | 成都互诚在线科技有限公司 | 一种基于中间语言的形式化规约语言简化方法 |
CN111124422B (zh) * | 2019-12-25 | 2023-03-10 | 成都互诚在线科技有限公司 | 一种基于抽象语法树的eos智能合约语言转换方法 |
CN111124422A (zh) * | 2019-12-25 | 2020-05-08 | 成都互诚在线科技有限公司 | 一种基于抽象语法树的eos智能合约语言转换方法 |
CN111240772A (zh) * | 2020-01-22 | 2020-06-05 | 腾讯科技(深圳)有限公司 | 一种基于区块链的数据处理方法、装置及存储介质 |
CN111309305B (zh) * | 2020-02-12 | 2023-06-02 | 扬州大学 | 面向智能合约的代码自动推荐方法、系统、计算机设备和存储介质 |
CN111309305A (zh) * | 2020-02-12 | 2020-06-19 | 扬州大学 | 面向智能合约的代码自动推荐方法、系统、计算机设备和存储介质 |
CN112148613A (zh) * | 2020-09-28 | 2020-12-29 | 财付通支付科技有限公司 | 用于测试区块链服务的智能合约的生成方法及装置 |
CN112148613B (zh) * | 2020-09-28 | 2024-10-18 | 财付通支付科技有限公司 | 用于测试区块链服务的智能合约的生成方法及装置 |
CN113031934B (zh) * | 2021-04-06 | 2022-07-26 | 卡斯柯信号有限公司 | 一种用于形式化验证的联锁数据安全转换方法及翻译器 |
CN113031934A (zh) * | 2021-04-06 | 2021-06-25 | 卡斯柯信号有限公司 | 一种用于形式化验证的联锁数据安全转换方法及翻译器 |
CN114331396A (zh) * | 2021-12-28 | 2022-04-12 | 中国科学技术大学 | 面向以太坊智能合约的协议安全属性自动提取方法及系统 |
CN116149671A (zh) * | 2023-04-23 | 2023-05-23 | 中国科学院软件研究所 | 用于翻译智能合约语言的方法和装置、电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN108459860B (zh) | 2021-03-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108459860A (zh) | 区块链智能合约形式化验证代码转换器及转换方法 | |
CN106227668B (zh) | 数据处理方法和装置 | |
CN108985073A (zh) | 一种高度自动化的智能合约形式化验证系统及方法 | |
US8601453B2 (en) | COBOL to bytecode translation | |
US20020143823A1 (en) | Conversion system for translating structured documents into multiple target formats | |
CN104503816A (zh) | 一种硬件语言vhdl到msvl的自动转换系统 | |
US10459829B2 (en) | Overall test tool migration pipeline | |
Hasan et al. | Recognizing Bangla grammar using predictive parser | |
CN109857641A (zh) | 对程序源文件进行缺陷检测的方法及装置 | |
CN106371887A (zh) | 一种msvl语言的编译系统及方法 | |
CN106843849A (zh) | 一种基于文档的库函数的代码模型的自动合成方法 | |
CN109725896A (zh) | 一种在线编辑python代码的方法以及电子设备 | |
US7409619B2 (en) | System and methods for authoring domain specific rule-driven data generators | |
Flanagan | Effective Static Debugging | |
CN116149671B (zh) | 用于翻译智能合约语言的方法和装置、电子设备 | |
CN117093222A (zh) | 一种基于改进转换器模型的代码参数摘要生成方法和系统 | |
Fritzson et al. | Metamodelica–a symbolic-numeric modelica language and comparison to julia | |
CN115794119A (zh) | 一种案例自动解析方法及装置 | |
CN115357492A (zh) | 一种用于Java软件的形式化验证方法及装置 | |
CN112507083B (zh) | 一种基于调度防误领域语言的防误规则库构建方法 | |
Sagar et al. | Context Free Grammar (CFG) analysis for simple Kannada sentences | |
Grigorev et al. | String-embedded language support in integrated development environment | |
Devillers | Translating IOA automata to PVS | |
Zhang et al. | ReInstancer: An automatic refactoring approach for Instanceof pattern matching | |
Shahjamali | An Empirical Analysis of Java Language Use in Open Source Applications |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |