区块链智能合约形式化验证技术:TFFV与FVIL的创新与应用
一、TFFV:EOS智能合约形式化翻译工具
1.1 EOSIO库更新与算法改进
随着区块链技术的发展,EOS智能合约的形式化验证变得愈发重要。EOSIO库进行了更新,新增了封装的词素Sp,同时删除了之前使用的词素Sq。基于此,算法(4)得到了改进,新的算法(5)如下:
[UR = \left(\bigcup_{i = 1}^{n} R_i - R_q\right) \cup R_p \cup \overline{R}]
通过对词法单元的划分,方便了模式的添加和删除,也便于获取构建T所需的标记,为代码结构的重构提供了便利。
1.2 抽象语法树的构建方法
构建T的主要目的是实现代码结构的递归,这有助于设计β,最终实现灵活的翻译。在设计阶段,构建了一个独特的结构τ,并采用链表的方式组织和生成T。τ的数据结构定义如下表所示:
| 属性 | 含义 |
| ---- | ---- |
| τtag | 变量节点的类型 |
| τcontent | 语义值 |
| τtype | 表达式节点的类型 |
| τivalue | 整数常量节点的值 |
| τfvalue | 浮点常量节点的值 |
| τsugar | 语法糖转换的标识 |
| τs_top | 翻译遍历停止标记 |
| τs_change | 更改语义值停止标记 |
| τline | 行号信息 |
| τl | 左子节点 |
| τname | 语法名称 |
| τr | 右子节点
超级会员免费看
订阅专栏 解锁全文
28

被折叠的 条评论
为什么被折叠?



