SolCMC模型检查器:智能合约验证的新突破
1. 真实世界实验背景
在智能合约的验证领域,自动化工具面临着诸多挑战。尤其是对于使用复杂特性、循环以及需要生成非平凡归纳不变式的智能合约系统,验证工作更是困难重重。本文使用SolCMC对两个重要的真实世界智能合约系统进行了分析,通过对两个后端求解器(Spacer和Eldarica)以及一系列参数的大量实验,取得了显著的成果,这充分证明了编码方法和后端求解器的强大组合能力。
2. CHC求解器选项
在使用SolCMC进行验证时,传递给底层CHC求解器Spacer和Eldarica的选项至关重要,这些选项可能会导致求解速度的巨大差异,甚至影响求解的成功与否。具体选项如下:
- Spacer选项 :
- rewriter.pull cheap ite=true :当可以低成本地将if-then-else项提升到顶层时,进行此项操作。
- fp.spacer.q3.use qgen=true :启用量化引理泛化器。
- fp.spacer.mbqi=false :禁用基于模型的量词实例化。
- fp.spacer.ground pobs=false :使用模型中的值对证明义务进行实例化。
- Eldarica选项 :对谓词抽象的调整非常有用,具体有以下几种模式:
- -abstract:off :禁用抽象。
- -abst
超级会员免费看
订阅专栏 解锁全文
50

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



