Model Checking
文章平均质量分 96
以模型检测,形式化方法和软件工程的研究性内容为主。文章顺序和内容纯看心情编写。
美剧之神
小白大一一枚,持续学习,go hard 2019 \n
小白大二一枚,持续学习,go hard 2020 \n
小白大三一枚,持续学习,go hard 2021 \n
放弃大四一枚,持续学习,go hard 2022 \n
鲨碧研一一只,学不下去了,go hard 2023 \n
********一只,退学了,just give up 2024 \n
展开
-
使用 SMT求解机 根据变迁关系生成迁移后系统的状态
论文中给出了一个系统的状态迁移图和它的的变迁公式。现在用三个布尔值的合取来表示某一个状态的值。比如q0状态,aka 初始状态,其值分别为 x1= false ,x2= false ,x2= false。q0的简单表示就是 000。论文中又写道,q3is ¬x1∧ x2∧ x3,即 011。那么将状态 q 就可以理解为三个二进制位依次加 1 的结果。具体状态迁移图如下所示。其主要用于检查逻辑表达式的可满足性,可以计算实数,也可以计算布尔逻辑公式。原创 2023-07-11 15:50:51 · 310 阅读 · 0 评论 -
JKind入门(二)引擎简介 BMC
模型检验以状态来模拟系统,自动检测系统的模拟运行是否满足某些期望的规范。但这其中存在着状态爆炸问题(模型检验首先需要给定一个系统和我们需要验证的属性,第一步将系统抽象成一个变迁系统,其后 model checking 算法会探索这个系统的每一个状态,来验证系统是否满足这个性质。而对于建模的结构就会很大,就会产生状态爆炸问题。原创 2023-04-16 01:05:28 · 769 阅读 · 0 评论 -
JKind入门(一)简单介绍和使用
The JKIND Model Checker 其是一种针对Lustre语言的模型检验工具,其是由Rockwell Collins和明尼苏达大学开发的开源的工业级的模型检查器,并于2018年发布。JKIND使用多个并行的引擎应用于拥有无限个状态的模型来证明属性或者给出其反例。原创 2023-03-29 21:54:45 · 742 阅读 · 1 评论 -
Propositional SAT Solving:DPLL算法求解CNF SAT 与 数独求解程序(C++ 实现)
DPLL(Davis-Putnam-Logemann-Loveland)算法,是一种完备的、以回溯为基础的算法,用于解决在合取范式(CNF)中命题逻辑的布尔可满足性问题;也就是解决CNF-SAT问题。原创 2022-11-26 23:57:33 · 3694 阅读 · 0 评论