增量归纳CTL模型检测:探索与实践
1 引言
增量归纳验证(Incremental Inductive Verification, IIV)是一种用于构建证明的技术,通过基于具体假设状态生成引理来逐步验证系统属性。这种技术已经在IC3和FAIR等模型检查器中取得了成功。本文将重点介绍一种新的基于SAT的增量式、归纳式算法——IICTL,它专门用于模型检查带有公平性约束的CTL(Computation Tree Logic)属性。
CTL作为一种历史悠久的规范语言,广泛应用于描述和验证并发系统的属性。某些CTL属性,如resetability(AG EF p),需要分支时间逻辑来表达。因此,研究IIV模型检查器对CTL属性的支持具有重要意义。
2 IICTL算法概述
IICTL算法的核心思想是通过推送到解析树中的任务状态来指导CTL属性的分析。每个节点都关联了满足该节点属性的状态的过近似和欠近似。随着分析的进行,这些近似值会被不断细化,直到获得该属性成立或不成立的证明。
2.1 CTL操作符与子查询
不同类型的CTL操作符对应不同的增量子查询:
- EX节点 :执行SAT查询,以确定是否存在一个后续状态满足给定的属性。
- EU节点 :应用IC3算法,以验证路径的存在性。
- EG节点 :应用FAIR算法,以验证循环路径的存在性。
通过这种方式,IICTL能够处理复杂的CTL属性,并利用现有工具(如I