形式化验证笔记

本文探讨硬件形式化验证技术,重点在于模型检验,包括模型检验的基本步骤、状态爆炸的优化技术,如二叉决策图、符号模型检验、偏序规约和抽象技术。模型检验虽有效,但状态爆炸仍是挑战,而优化技术有助于缓解这一问题。
摘要由CSDN通过智能技术生成

硬件形式化验证技术调研

硬件安全问题频频发生,造成的后果日益严重,例如伊朗核电站震网事件,攻击者通过网络激活事先植入的硬件木马使电机转子超负荷运转烧毁。然而,现今硬件设计仍缺乏有效的安全验证方法检测,导致硬件设计中存在潜在的安全漏洞、木马、恶意程序等。

现有的安全验证技术主要包含仿真和形式化验证技术,但是仿真技术存在覆盖率难以保证的问题。
形式化验证技术采用严格的数学定义描述电路规范,形式化检查硬件行为特征.现有的形式化验证技术包括模型检验定理证明

  • 模型检验(Model Checking)
    采用搜索算法验证设计是否满足设计规范,但会因设计规模的增大导致状态空间爆炸。虽然引入符号执行后解决了状态空间爆炸问题,但仍可能导致路径爆炸。

  • 定理证明(Theorem Proving)
    采用形式化语言描述程序规范和性质,用演绎的方法交互式地验证程序的规范和性质。

1.模型检验(Model Checking)

模型检验(model checking)是一种被广泛应用的验证有限状态系统满足规范的形式化方法,主要针对具有逻辑性质的有限状态系统,由 Clarke等人最早提出。

在这里插入图片描述

将待验证系统建模为有限状态机,如Kripke结构状态-迁移系统(State Transition system)自动机等,将系统期望的性质描述为时序逻辑公式;然后,自动化穷举搜索系统行为以确定待验证系统是否满足期望的性质。
若不满足,根据反馈信息判断具体系统中是否确实存在违反此属性的执行路径(即反例路径)。

由于模型检验器在算法支持下可以自动执行,并能在系统不满足性质时提供反例路径,因此备受工业界关注。

模型检验的思想基于穷尽搜索,这也就造成了其最大缺点是不能解决推理问题,极易发生状态爆炸(state explosion),这已经成为影响模型检验应用的重要瓶颈1

1.1 模型检验步骤2

模型检验大致可分为以下三个步骤:
(1)系统建模
在此阶段需要把系统的Kripke结构用形式化语言描述出来,即将系统的状态集合及状态迁移关系进行形式化描述。具体使用哪种描述语言要根据模型检验工具来确定࿰

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值