
模型检测
模型检测(Model Checking)学习笔记。
大桔骑士v
微软程序员,B站账号:大桔骑士v
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【模型检测学习笔记】10:有限状态迁移系统上的IC3算法
IC3算法全称是Incremental Construction of Inductive Clauses for Indubitable Correctness,可以用来检测迁移系统上的不变性性质。1 术语约定1.1 clause和literal这里逻辑公式(logic formula)一律用合取范式(conjunctive normal form,CNF) 来表示,CNF中的每一项是一个clause,每个clause是若干literal的析取,每个literal是一个逻辑变量或者逻辑变量的非,例如原创 2020-11-23 15:13:20 · 2219 阅读 · 4 评论 -
【模型检测学习笔记】9:Binary Decision Diagrams
1 BDT→\to→BDD→\to→OBDD在符号模型检测中, 用布尔表达式表达一组状态,也就是对布尔公式中的每个变量赋值,可以计算出一个布尔值结果:f: Booln→Boolf: \ Bool^n \to Boolf: Booln→Bool所以可以用一个类似于组合解空间树(如果1视为选,0视为不选)的结构,即Binary Decision Tree (BDT) 来表达一个布尔公式,如下图:图中每个结点vvv有两个孩子分支,一条虚线对应low(v)low(v)low(v)表示v原创 2020-11-16 19:34:27 · 3314 阅读 · 0 评论 -
【模型检测学习笔记】8:无限字上ω正则LT性质的验证
Bu¨chi自动机⇌ω正则语言⇌ω正则表达式Büchi自动机\rightleftharpoons \omega 正则语言 \rightleftharpoons \omega 正则表达式Bu¨chi自动机⇌ω正则语言⇌ω正则表达式1 无限字上的自动机1.1 Büchi自动机Büchi自动机(Büchi Automata)可以用于描述无限字上的LT性质。老师PPT上还是用了Peterson’s ...原创 2019-12-14 21:51:28 · 1212 阅读 · 0 评论 -
【模型检测学习笔记】7:有限字上正则LT性质的验证
有限自动机⇌正则语言⇌正则表达式有限自动机\rightleftharpoons正则语言\rightleftharpoons正则表达式有限自动机⇌正则语言⇌正则表达式1 有限字上的自动机1.1 有限自动机有限自动机(Finite Automata)可以表示为确定性的DFA,或者更一般的非确定的NFA:A=(Q,Σ,σ,Q0,F)A=(Q, \Sigma, \sigma, Q_0, F)A=(...原创 2019-12-02 10:41:49 · 831 阅读 · 0 评论 -
【模型检测学习笔记】6:线性时序性质(Linear-time Properties)
为方便,线性时序性质(linear-time properties)后续均简称LT性质。在系统分析中,描述线性时序行为(linear-time behavior)可以是基于动作的(action-based approach),也可以是基于状态的(state-based approach),本章主要学习的是基于状态的(但在学习公平性时用动作描述),也就可以在TS中刻意忽略转移过程中的具体动作,而只...原创 2019-11-12 21:35:17 · 2314 阅读 · 0 评论 -
【模型检测学习笔记】5:PG向TS的转换,进程并发的几种模型
1 PG向TS的转换在上节学习的数据依赖的系统中使用PG对系统进行了建模,在其他的场景下,如后面要学习的某些特殊的进程并发场景,也需要用PG对系统建模,将其转换成TS表示对实际实现是重要的。PG六元组:PG=(Loc,Act,Effect,↪,Loc0,g0)PG=(Loc,Act,Effect,\hookrightarrow,Loc_0,g_0)PG=(Loc,Act,Effect,↪,L...原创 2019-10-19 20:21:41 · 943 阅读 · 0 评论 -
【模型检测学习笔记】4:基于TS以及Program Graph的软硬件系统建模
在TS中“变量”一词要以广义的方式理解,可以表示程序变量、程序计数器、寄存器值、输入位等。1 顺序硬件电路的建模1.1 一个简单的例子1.1.1 简要分析下面电路有输入xxx,寄存器rrr和输出位yyy:其中:λy=¬(x⊕r)δr=x∨r\lambda_y = \neg (x \oplus r) \\\delta_r = x \vee rλy=¬(x⊕r)δr=x∨r在...原创 2019-10-01 10:53:48 · 808 阅读 · 0 评论 -
【模型检测学习笔记】3:基于Transition System的系统模型
TS是一种常用的描述系统行为的模型,用结点表示状态,边表示转移关系,和KS的主要区别是状态转移是需要动作支持的,不同的动作往往对应着不同的状态转移。1 基本概念1.1 状态(State)状态是在某时刻系统所具有的特性和行为。和KS一样用原子命题集合表示状态,例如{a=2,b>3}\{a=2,b>3\}{a=2,b>3}。对交通灯而言,灯的颜色就是状态。对顺序程序而言,...原创 2019-09-30 19:54:42 · 1974 阅读 · 0 评论 -
【模型检测学习笔记】2:基于Kripke Structure的系统模型
形式化模型的构建思路舍弃和性质无关的细节,保留系统中的关键属性。如对于电路而言,各个门和布尔值是需要关心的,而电压是不关心的。对于通信协议而言,信息的交换过程是需要关心的,而具体交换的信息是和建模没关系的。本章学习的是对响应式系统(reactive system)以及它随时间的行为的建模,响应式系统会和环境进行交互,并且一般不会终止。State:在某一特定时刻系统中所有变量的取值,表征...原创 2019-09-26 10:44:45 · 1942 阅读 · 8 评论 -
【模型检测学习笔记】1:系统分析与验证概览
验证方法模拟:动态验证,常用,如今最主流的验证方法。仿真:类似模拟,但依赖于硬件。形式化验证:静态验证,用数学方法对模型的功能、功能、规范做检验。验证的完备性高,但实施困难。半形式化验证:形式化验证和前面结合。形式化验证分类按验证内容分类性质检验(property checking):是否满足某些规范和功能需求。等价性验证(equivalence verification):...原创 2019-09-24 16:05:41 · 2199 阅读 · 4 评论