和SPIN相关的模型检测研究.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
与SPIN相关的模型检测研究1) 魏巍1 曾庆凯2 1南京大学计算机软件新技术国家重点实验室,南京,210093 2南京大学计算机科学与技术系,南京,210093 摘要本文以SPIN为例,介绍模型检测的机制与原理。本文描述了模型检 测不可避免的问题——状态空间爆炸,并分析了偏序归约、启发式方法、压缩技 术和对违反活性属性检测的改进算法等解决方法,最后讨论了模型检测当前所 面临的一些主要问题,并指出了今后模型检测的主要发展方向。 关键词模型检测 状态空间爆炸偏序归约 一、引 言 目前,形式化验证主要有定理证明和模型检测两种方法。虽然定理证明能够严格证 明安全机制是否满足安全性需求,但是较高的数学要求和对问题的描述、推导、证明的困 难性,以及证明过程的非自动化,使其难以广泛应用。而相对于定理证明的这些不足之 处,模型检测则有专门的语言对系统建模、可用时序逻辑来方便的描述系统需求、检测的 过程完全自动化等优点。 SPINLlj是目前应用最广泛的模型检测工具之一,应用了许多优秀的算法,如偏序归 hash、压缩技术等,这些算法能弱化状态空间爆炸问 约、collapsecompression、bit-state 题。本文将以SPIN为例介绍模型检测的主要方法和实现。 本文结构:本文第二部分主要讲述模型检测的机制与原理;第三部分介绍状态空间爆 炸问题和目前的一些应对方法;第四部分讨论模型检测当前所面临的问题,并指出了模型 检测的发展方向;第五部分进行了总结。 二、模型检测的机制与原理 模型检测的过程一般可以分成如下几步: 1.系统建模 个元组 M一(S,I,L,R) 式中,S是状态的有限集合;I是S的子集,表示初始状态的集合;L:p29是一个标记映 项目。 ·852· 射函数,把每个状态S映射到在S中为真的原子命题集合;R是SXS的子集,是状态转换 关系的集合。 一个Kripke结构M的一条运行路径是个一个无穷状态序列r—s。S2S3o··其中Si∈争 且S1∈I且对于任意i≥1有(,&+1)∈R。 动转化成kripke结构和状态自动机。 2.需求描述 根据逻辑关系和检测方法的不同,可以把需求属性分成两类:安全性属性(Safety properties)和活性属性(1iveness (assertions)和死锁(deadlock)等。活性属性则与系统的一些动态性,如活锁、互斥等需 求有关。 在SPIN中用了LTL来对需求进行描述。LTL的BNF定义如为 I上l 驴::一T Pl(—p)I(妒^驴)I(妒VP)I(9一垆)I (脚)I(唧)I(唧)l(撕)l(册)I(妒脚) Globallyp:G p为真表示P在该状态和之后所有后继状态都为真。 EventuallyP:FP为真表示总能达到一个使P为真的状态。 Next P:XP为真表示在下一个状态中,p为真。 Until U P q:P q为真表示存在一条到口为真的状态的路径,且到达该状态之前P 一直为真。 LTL描述的系统需求属性,作为sPIN的另一个输入。 3.检测和验证 在系统建模和需求描述完成之后,接下来就是进行检测和验证了。针对需求的两种 类型有两种不同的检测方法:违反安全性属性检测和违反活性属性检测。 (1)违反安全性属性的检测 从初始状态开始,检查所遍历到的所有状态ST验证L(s)是否满足安全性属性。算法 主要有广度优先偏历搜索算法(BFS)、深度优先遍历搜索算法(DFS)和A。算法。把这几 个算法一般化便得到广义状态遍历算法t4,s]: 1)procedureGeneralStateExpandingAlgorithm(s) 2) Closed-,--黟; 3) 0p

文档评论(0)

cxmckate + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档