UCLID5:多模态验证与综合工具的全面解析
1. UCLID5基础模型
UCLID5模型包含在模块中,模块由三部分组成:
- 系统模型:使用顺序、并发、操作和公理建模的组合来表示。
- 系统规范:包含各种类型的规范。
- 证明脚本:指定UCLID5应执行的验证任务,以证明系统满足其规范。
一个计算斐波那契数列的简单UCLID5模型如下:
Fig. 2. UCLID5 Fibonacci model. Part 3 shows the new synthesis syntax, and
how to find an auxiliary invariant.
2. 多模态验证与综合
2.1 规范
UCLID5支持多种不同类型的规范,包括:
- 顺序代码中的内联断言和假设。
- 过程的前置条件和后置条件。
- 全局公理和不变量(命题谓词和线性时态逻辑(LTL)中的时态不变量)。
最新版本的UCLID5还直接支持超不变量和超公理(用于k - 安全),引入了两个新的语言构造: hyperaxiom 和 hyperinvariant 。例如, hyperinvariant[2] det xy: y.1 == y.2 断言一个2 - 安全超属性成立。
2.2 验证
为了验证这些规范,UCLID5实现了多种经典技术,支持的验证技术包
超级会员免费看
订阅专栏 解锁全文
27

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



