model checking

转自http://blog.csdn.net/myself_way/article/details/11108057  感谢@Greling


 - Concepts -

model checking是一项重要的自动验证技术。由Clarke和Emerson以及Quielle和Sifakis在1981年提出。主要通过显式状态搜索或隐式不动点计算来验证有穷状态并发系统的模态/命题性质。模型检测可以自动执行。

基本思想是,用状态迁移系统(s)和模态逻辑公式(F)来代表系统,前者表示系统的行为,后者描述系统的性质。将”系统是否具有某项性质“转化为数学问题”S是否是F的一个模型“。对有穷状态系统,这个问题是可判定的。

模型检测在应用时需要考虑效率和内存空间需求,为了符合分析的要求,需要研究减少模型本身或验证的复杂性。主要方法有不同类型的抽象、程序切片、模型分解、验证性质的分解等。

(1)抽象:省略系统的细节,用尽可能少的状态刻画系统的行为。

(2)程序切片:去掉程序中不影响要验证性质的语句减少模型的复杂性

(3)模型分解:将一个模型分解成若干部分,分别验证,降低复杂性。

(4)验证性质的分解:同(3)。


- Automatic Tools -

这个很少涉及,摘自网上的总结:

(1)SMV,检测有限状态系统(FSS)是否满足CTL(计算树逻辑)

(2)SPIN,检测FSS是否满足PLTL(命题线性时序逻辑)

(3)CWB,检测系统间的等价关系、PRE-ORDER关系及系统是否满足mu演算公式。

(4)Murphi.

模态逻辑的三种常用逻辑是CTL,PLTL和mu演算,各自有相应的模态算子(算子指的是某个分支、所有分支、下一状态)。mu演算可作为模型检测的一般框架。


- Usage -

模型检测的优点在于能用自动搜索代替手动证明来解决验证的问题。

模型检验包括三部分:

(1)基于命题的时态逻辑的规范语言;

(2)表示被验证系统的编码状态机的方法;

(3)验证算法,对状态空间的智能搜索确定规范的真假。

应用在软件测试领域,模型检验的一大优势是,如果规范没有被发现,模型检验能够给出反例,可以用来debug程序或系统。


- Limitation -

模型检验中的状态爆炸是一个要解决的问题,通常状态数会随着进程数指数级增长。

抽象映射是简化模型检验的另一种方法,但,尽管抽象系统能够保持具体系统的许多性质,也会丢失某些性质。


- Conclusion -

算法设计三步:(1)需求规范;(2)建立可执行的系统模型;(3)开发可扩展的算法。

算法目标:(1)检验需求是否满足;(2)需求不满足时进行诊断。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Model checking is a technique for verifying finite state concurrent systems such as sequential circuit designs and communication protocols. It has a number of advantages over traditional approaches that are based on simulation, testing, and deductive reasoning. In particular, model checking is automatic and usually quite fast. Also, if the design contains an error, model checking will produce a counterexample that can be used to pinpoint the source of the error. The method, which was awarded the 1998 ACM Paris Kanellakis Award for Theory and Practice, has been used successfully in practice to verify real industrial designs, and companies are beginning to market commercial model checkers. The main challenge in model checking is dealing with the state space explosion problem. This problem occurs in systems with many components that can interact with each other or systems with data structures that can assume many different values. In such cases the number of global states can be enormous. Researchers have made considerable progress on this problem over the last ten years. This is the first comprehensive presentation of the theory and practice of model checking. The book, which includes basic as well as state-of-the-art techniques, algorithms, and tools, can be used both as an introduction to the subject and as a reference for researchers. About the Authors Edmund M. Clarke, a pioneer of the automated method called Model Checking, is FORE Systems Professor of Computer Science and Professor of Electrical and Computer Engineering at Carnegie Mellon University, and a winner of the 2007 Turing Award given by the Association for Computing Machinery. Doron Peled is Professor of Computer Science at the University of Warwick, Coventry, UK. Endorsements "Model Checking is bound to be the pre-eminent source for research, teaching, and industrial practice on this important subject. The authors include the foremost experts. This is the first truly comprehensive treatment of a line of research that has gone from conception to industrial practice in only two decades." —R. P. Kurshan, Distinguished Member Technical Staff, Bell Laboratories
With 32 technical articles and 76 authors, this handbook represents a full postgraduate course in Model Checking. If a reader can verify that he or she has read and studied every article, then Springer should certainly award that reader a Master’s Degree inModel Checking! Departments in Computer Science everywhere will certainly welcome access to this major resource. Model Checking has become a major area of research and development both for hardware and software verification owing to many factors. First, the improved speed and capacity of computers in recent times have made all kinds of problem solving both practical and efficient. Moreover, in the area of Model Checking the methods of design of models have contributed to the best formulation of problems. Then we have seen SAT solvers gain unexpected and truly remarkable efficiency improvements—despite theoretical limitations. Additionally, the methodology of Satisfiability Modulo Theories (SMT) has contributed to finding excellent ways to pose and solve problems. Uses of temporal logic and data-flow-analysis techniques have also made model checking more naturally efficient. All these contributions have helped solve the ever-present “state explosion problem.” The urgency to make greater strides has increased because new applications in such diverse areas as health care, transportation, security, and robotics require work in the field to achieve greater scale, expressivity, and automation. I would definitely recommend new Ph.D. candidates look seriously into going into research in this field, because success in Model Checking can directly lead to future success in many other activities in Computer Science. Finally, the recent tragic loss of Helmut Veith has been a dreadful blow to his family, friends, colleagues, and students. Let’s take up the flag in his honor to help promote and expand the field in which he was poised to become a recognized world leader. Carnegie Mellon University Dana S. Scott Department of Mathematics, University of California, Berkeley
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值