PPTL符号模型检测方法及工具研究

来源 :西安电子科技大学 | 被引量 : 0次 | 上传用户:wdtt5200
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
作为一种自动化的程序验证方法,近几十年来模型检测技术在软硬件程序、通信协议以及安全协议等领域的正确性分析和验证中得到了广泛的应用。在模型检测中,使用一个有限的系统状态迁移结构模型来描述待验证的系统,并借助某种时序逻辑公式来描述待验证系统的期望性质,然后在这个基础上通过模型检验算法自动化地判断待验证的系统是否满足其期望的性质。经过成熟研究的经典时序逻辑,如线性时序逻辑(LTL)、分支时序逻辑(CTL)等,很难甚至无法描述并行系统的区间相关性质和循环性质。命题投影时序逻辑(PPTL)通过引入chop和projection等时序操作符,可以较方便地描述上述性质,且被证明具有描述完备正则性质的优越表达能力。然而,随着软件行业的不断发展,程序规模不断增大以及复杂程度的不断提高,模型检测技术面临着严重的状态空间爆炸问题。符号模型检测(SMC)是一种基于ROBDD(冗余有序二叉决策图)的针对状态空间爆炸问题而产生的有用的机制。在SMC技术中,使用布尔公式对待验证的系统状态集合以及状态之间的迁移关系进行符号化的编码,而布尔公式本身则使用ROBDD来实现,从而使用ROBDD隐式的实现状态空间及状态空间上的操作,缩减了状态空间的存储。因此,符号模型检测可以处理相对更大规模、更加复杂的系统,在一定程度上有效的缓和了当前面临的状态空间爆炸问题。NuSMV是一个在学术界和工业界应用广泛且日益成熟的限界和符号模型检测工具,使用Nu SMV特定的输入语言描述系统模型,LTL或者CTL来表征期望性质,实现了LTL和CTL的符号和限界模型检测。本文提出了一种基于Nu SMV的PPTL符号模型检测方法。在此方法中,系统设计模型是一个Kripke结构模型M,而系统的期望性质由PPTL公式?来描述。首先将公式的非??转换为对应的LNFG,在此基础上继续进行转换得到??对应的Büchi自动机模型。然后将系统模型M的初始状态集合I沿Büchi自动机向后扩展,若无限经常次的扩展至Büchi自动机的某个可接收节点时,保持可接受节点对应系统状态集不为空,则说明系统模型M中至少存在一条路径满足??,即M|??,此时可给出相应的反例,帮助系统分析与设计人员修正和定位设计中存在的错误;否则得出M|??的结论,即期望的性质有效。此方法基于Nu SMV中使用的Kripke结构模型,并且借助于PPTL来描述待验证系统的期望性质,增强了模型检测的性质刻画能力。另外,采用系统初始状态集合沿着Büchi自动机模型向后递归扩展的方法,在遇到反例的时候可以立即终止Büchi自动机的状态搜索过程,系统模型扩展至空集时也可以立即停止搜索,实现递归过程的剪枝。
其他文献
协同CAD作为CAD技术与CSCW技术的结合,可以有效地缩短产品开发周期,充分地利用异地资源,降低产品的设计成本,近年来这方面的研究工作正在不断深入。由于各个商品化CAD系统之间从
工作流管理是一个被业界广泛应用并迅速发展的技术,它的主要功能是使业务处理过程自动化,协调用户和各种应用程序的工作。随着计算机软硬件技术的发展,特别是Internet和Intra
秘密共享是现代密码学领域中一个非常重要的分支。而秘密图像共享技术是秘密共享在图像方面的拓展,利用该技术分享图像时,可以保证图像的安全性和完整性。目前,已有多种秘密图像
电信业发展迅速,用户对电信业务的需求发生很大变化,原有业务已远远不能满足需要,各电信运营商都希望能方便快捷地为用户提供新业务,竞争策略制高点集中在为客户提供各种新业务上
最优化方法对于解决生活中的问题有着重要的意义,也一直是众多专家学者研究的主题。比较于经典的进化算法和基于梯度特征的优化算法,群智能寻优算法表现出了良好得自组织性,
随着信息技术的迅速发展,XML正在各个领域被越来越广泛的应用,为了有效的管理这种半结构化的数据,XML数据库的概念被提出。根据XML:DB的定义,XML数据库可以分为XML本源数据库
随着计算机网络技术的发展和高校教务制度的改革,建立功能完善、性能良好的综合教务系统管理平台是高校管理工作不可缺少的一项重要工程。本文通过对高校教务管理系统现状及
IPv6网络正以前所未有的速度在全球蔓延。众多由于起步晚而受制于美国的国家,纷纷投入IPv6的研究浪潮,并将此视为互联网重新洗牌后崛起的关键机会。中国在全球IPv6领域已经成为
面对着web上面的海量信息,Web用户往往只对其中的很小一部分感兴趣。不同的用户,由于他们各自的需求不同,因此他们需要用不同的“角度”、不同的方式去“看待”Web上面的海量数
由于软件功能扩展、用户需求改变和修正bug等原因,软件产品需要不断的被更新。随着互联网的迅速发展,利用Internet进行客户端软件的自动更新成为一个可行并有效的方法。通过