基于sat的命题投影时序逻辑限界模型检测方法

文档序号:6364016阅读:163来源:国知局
专利名称:基于sat的命题投影时序逻辑限界模型检测方法
技术领域
本发明属于计算机应用技术领域,主要涉及系统形式化验证技术领域,尤其涉及命题投影时序逻辑(PPTL)和限界模型检测(BMC),具体是一种基于SAT的命题投影时序逻辑限界模型检测方法。主要应用于工业,军事,农业,科研等领域设计的软硬件系统正确性的形式化验证,以及各类通信协议安全性,可靠性的形式化验证。
背景技术
随着Internet的发展和工业界需求的不断提高,各种计算机应用软件,硬件电路的设计复杂度与日俱增,网络通信技术也是日新月异,这些系统的正确性,安全性和可靠性已经受到科学界和工业界越来越多的关注。定义在严密的数学和逻辑基础上的形式化方法成为解决这一问题的有力工具,与此同时,计算机技术的快速发展使得利用计算机来确保软硬件系统及通信协议的正确性,安全性和可靠性成为一种有效的途径,本发明正是在这 个领域进行的一些研究和创新。形式化验证起源于20世纪60年代的软件危机。80年代初,Pnueli将时态逻辑引入到反应式程序的验证,美国的Clark和Emerson,法国的Quielle和Sifakis分别独立提出了模型检测(MC)方法,并实现了对并发系统的自动验证,使得形式化验证技术有了很大的进展。在形式化验证发展的基础上,形成了两类主要的方法,一类是以逻辑推理为基础的演绎验证(Deductive Verification),另一类是以穷尽搜索为基础的模型检测(Model Checking)。模型检测是将要验证的系统表示成有限状态机,将待验证的性质用时序逻辑公式描述,然后,遍历有限状态机以验证系统是否满足性质的过程。有限状态机模型通常采用Kripke结构。作为一种强大的可信自动化验证技术,模型检测已在很多领域得到了广泛的应用。模型检测的优点是全自动进行,无须人机交互。当断定某性质不满足时,模型检测能提供反例,以便于定位设计错误。凭借时态逻辑强大的描述能力,模型检测能够对各种复杂的时序性质进行验证。但是模型检测也有自己的缺点一一状态空间爆炸问题。所谓状态空间爆炸问题,主要指的是系统状态数随着系统规模的增加呈指数增长的问题,所以本领域的研究人员不断地采用各种方法减少搜索的状态数。常用的方法有符号模型检测,组合模型检测及限界模型检测等技术。限界模型检测技术BMC是继符号模型检测后的又一重要进展,该技术是由Biere等在1999年提出。限界模型检测的主要思想是在给定的步数k内,考察性质是否满足。若不能确定性质是否存在,则提高k值,重新进行检测。在每一个检测周期内,限界模型检测问题被转化为命题可满足性问题SAT。SAT问题虽然已被证明是NP-complete问题,但在实际应用中却很有效。在模型检测中,时序逻辑作为一种规范语言(Specification Language)已被广泛地应用于数字电路系统,软件工程,通信协议等领域的形式化验证中。从时间的角度讲,时序逻辑主要有三大分支线性时序逻辑(LTL),分支时序逻辑(CTL)以及区间时序逻辑(!TL)。作为模型检测中常用的性质描述语言,CTL和LTL在表达能力上各有千秋,都能表达出一些对方无法表达的性质。事实上,CTL和LTL的描述能力都有一定的局限性,至少有两种类型的性质是CTL和LTL都无法描述的(I)实时性相关性质,例如,性质P在第100个状态成立或者P在第100个状态之后,第200个状态之前成立;(2)闭包性质P,进而导致使用模型检测对系统的正则性质的验证比较困难。投影时序逻辑(PTL)是一种用于描述离散区间或时段的逻辑系统,它是时序逻辑的一个分支,是区间时序逻辑(ITL)的扩展。命题投影时序逻辑(PPTL)作为扩展后的区间时序逻辑PTL的命题逻辑子集,是一种基于区间的时序逻辑,其表达能力等价于full正则语言。此外,PPTL可以方便地描述实时性相关的性质。命题投影时序逻辑强大的描述能力以及自身的语法结构特点,使得该逻辑适合被用作模型检测中的性质描述语言。由于CTL和LTL的表达能力有限,模型检测方法也存在状态空间爆炸的问题,而现有的技术中没有同时针对这两个问题的解决方法,因此提出一种可以同时有效解决这两个问题的方法刻不容缓。

发明内容
本发明针对规范语言CTL和LTL表达能力有限以及模型检测中产生的状态空间爆炸问题,提出了一种性质表达能力更强并且可有效缓解状态空间爆炸的基于SAT的命题投影时序逻辑PPTL限界模型检测BMC方法。本发明是一种基于SAT的命题投影时序逻辑限界模型检测方法。具体检测步骤包括步骤I.首先为待验证的系统建立将要进行限界模型检测的模型M,M是一个描述系统行为的有限状态迁移系统,采用Kripke结构描述模型M。步骤2.使用规范语言PPTL公式描述待验证系统的性质,得到PPTL描述的性质公式P,并将其等价转换为正则形NF,得到性质公式P的正则形NF (P),进而得到性质非的正则形 NF(^P)。步骤3.设定限界模型检测的界限k,k为一个不大于完整区间长度的正整数,用来限定进行限界模型检测时的搜索长度,界限k的值在一个限界模型检测周期内是不变的,在新的限界模型检测周期内根据上一个周期的结果进行调整。步骤4.根据PPTL限界模型检测到命题可满足性问题SAT的转换规则,结合设定的限界模型检测界限k,对待验证的系统模型M和性质的非I尸进行编码,通过布尔编码将限界模型检测问题转化为命题可满足性SAT问题。步骤5.使用现有的SAT求解器对SAT问题进行求解有解,说明待验证系统M不满足性质P,给出相应的反例;无解,说明待验证系统M k-有界满足性质P,再增大界限k的值,跳至步骤3,进入下一个限界模型检测周期,直到k的值足够大并且在每个限界模型检测周期内待验证系统M都是K-有界满足性质P的,认为待验证系统M满足性质P,结束限界模型检测过程。、
本发明使用具有正则表达能力的命题投影时序逻辑PPTL作为限界模型检测中的性质描述语言,通过限界模型检测的方法对待验证系统性质进行验证,在验证过程中将限界模型检测问题转化为SAT问题求解,根据SAT问题的解来判断系统是否有界满足性质。本发明将PPTL强大的表达能力和限界模型检测能够缓解模型检测状态空间爆炸问题的优势相结合,从而使得系统正则性质及实时性相关性质的验证易于进行,同时提高模型检测的效率。本发明的实现还在于将PPTL限界模型检测问题转换为命题的可满足性问题,具体步骤包括步骤4. I.根据待验证系统Kripke结构模型M的标记函数L,用布尔向量表示待验证系统中的状态和迁移关系,完成待验证系统约束条件的编码过程,约束条件
def_
Mk = I(S0) a A^Tisl,sl+l),其中k为界限,I (S0)表示状态S0是初始状态,T (Si, si+1)表示从
状态Si到状态Sin的状态迁移关系,A= T(H1)表示状态序列(S(|,S1, ...,Sk)中从状态Stl经过状态S1, S2, . . . , Si, . . . , Sk^1到达状态Sk的一系列状态迁移,若状态序列(S。,S1,, Sk)是从初始状态出发的有效区间,存在一组赋值使得约束条件Mk为真;步骤4. 2.在界限k下,将待验证的系统性质公式P转换为等价的命题公式待验证系统的性质约束条件义,-(-4 A(-P)(o,*))vvl0(L(k<n A(iP)(0,kJ)),Lk是在界限k下区间的循环条件,根据搜索区间的结构,确定区间结构相关部分Lk的真假值,区间为有循环的无穷区间时,Lk为真,区间为无循环的有穷区间时,Lk为假;根据限界模型检测过程中PPTL性质公式P向命题公式的等价转换规则对性质约束条件中性质相关部分和
进行等价转换,进而得到约束条件Xk等价的命题公式,其中0为初始状态S0下标,k为界
def
限,I为状态S1下标,是无循环有穷区间下的性质约束条件,Zi =Vl0 L(k ^
录所有可能的从状态Sk到之前状态的迁移,Lu)表示存在从状态Sk到向前状态S1 (I G N,O^l^k)的状态迁移,循环的状态序列段为(Sl,. . .,sk),表示在界限k内,该区间是无循环有穷的区间,是无循环有穷区间在界限k下的性质相关部分;仏,0 a(,P)(m /)是有循环无穷区间下的性质约束条件,(iP)(。, W是有循环无穷区间在界限k下的性质相关部分,vf=()(Z(M)婊示所有可能的循环及其相应的性质约束;步骤4. 3.将步骤4. I和步骤4. 2得到的约束条件Mk和Xk的等价命题公式合并,得到PPTL限界模型检测问题的形式化描述[M,^P]t ^Mk AXk,及其等价命题公式F,W,^P\ =F,完成限界模型检测问题向SAT问题的转换。本发明将命题投影时序逻辑PPTL的限界模型检测BMC问题转换为一个可通过现有的SAT求解器进行求解的命题可满足性问题。其实质在于用布尔表达式来隐式地表示待验证系统的状态,减少占用的状态空间数,并通过给定的界限k限制限界模型检测过程中的搜索长度,减少搜索状态空间数,从而有效地缓解模型检测中状态空间爆炸的问题。本发明的实现还在于针对搜索区间的不同结构,给出限界模型检测过程中逻辑公式向命题公式转换的不同等价转换规则,已知搜索区间分为两种有循环的无穷区间;无循环的有穷区间,根据搜索区间的不同结构,首先定义状态Si的下一状态下标SUCC (i)如下
/' + I 如果 i < ksucc(i) = ^ I 如果i = k并且Cr是一个有循环的无穷区间是+ 1如果f = 并且<7是一个有穷区间
有循环无穷区间中逻辑公式到命题公式的等价转换规则(I). Po k n =; (>,)如果P是一个原子命题,等价于sjp];
权利要求
1.一种基于SAT的命题投影时序逻辑限界模型检测方法,其特征在于具体检测步骤包括 步骤I.首先为待验证系统建立模型M,M是一个描述待验证系统行为的有限状态迁移系统,采用Kripke结构描述模型M ; 步骤2.使用命题投影时序逻辑PPTL公式描述待验证系统的性质,得到PPTL描述的性质公式P,并将其等价转换为正则形NF,得到性质公式P的正则形NF (P),进而得到性质非的正则形
2.根据权利要求I所述的基于SAT的命题投影时序逻辑的限界模型检测方法,其特征在于将PPTL限界模型检测问题转换为命题的可满足性问题的具体步骤包括 步骤4. I.根据待验证系统Kripke结构模型M的标记函数L,用布尔向量表示待验证系统中的状态和迁移关系,完成待验证系统约束条件的编码过程,约束条件
3.根据权利要求2所述的基于SAT的命题投影时序逻辑的限界模型检测方法,其特征在于针对搜索区间的不同结构,给出限界模型检测过程中PPTL逻辑公式向命题公式转换的不同的等价转换规则,即PPTL限界模型检测向命题可满足性问题SAT转换的转换规则, 已知搜索区间分为两种有循环的无穷区间和无循环的有穷区间,根据搜索区间的不同结构,首先定义状态Si的下一状态下标succ (i)如下
4.根据权利要求I所述的基于SAT的命题投影时序逻辑的限界模型检测方法,其特征在于步骤5中的SAT问题是否有解说明了系统是否有界满足性质,具体描述如下 利用SAT求解器对F求解,有解,命题公式F可满足,在搜索长度k以内,待验证系统M中存在一条路径使nP成立,即存在一条违反性质P的路径,待验证系统M不满足性质P,根据命题公式F的解产生违反性质P的路径;无解,命题公式F不可满足,待验证系统M有界满足性质P ;在待验证系统M有界满足性质P的情况下,待验证系统是否满足性质是不确定的,再增大界限k的值,进入下一个限界模型检测周期,寻找隐藏更深的错误,当k的值足够大并且待验证系统M总是k-有界满足性质P,则认为待验证系统满足性质,结束限界模型检 测的过程。
全文摘要
本发明是一种基于SAT的命题投影时序逻辑限界模型检测方法,步骤是用Kripke结构描述待验证系统模型M;用PPTL公式描述性质P;设定限界k;将PPTL限界模型检测转换为SAT问题;对SAT问题求解有解,系统M不满足性质P,给出反例,无解,系统M有界满足性质P,增大k值,进入下一个检测周期,直到k值足够大且在每个限界模型检测周期内待验证系统M都有界满足性质P。本发明使用PPTL描述系统性质,解决了CTL和LTL表达能力有限的问题,并通过限制搜索长度减少搜索状态数,缓解了状态空间爆炸,融合了PPTL和BMC各自的优点,使系统复杂性质的验证更方便有效。本发明适用于软硬件系统以及通信协议的形式化验证。
文档编号G06F17/50GK102663191SQ20121010206
公开日2012年9月12日 申请日期2012年4月9日 优先权日2012年4月9日
发明者何佳, 段振华, 王小兵, 田聪 申请人:西安电子科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1