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

技术编号:7759366 阅读:228 留言:0更新日期:2012-09-14 01:37
本发明专利技术是一种基于SAT的命题投影时序逻辑限界模型检测方法,步骤是:用Kripke结构描述待验证系统模型M;用PPTL公式描述性质P;设定限界k;将PPTL限界模型检测转换为SAT问题;对SAT问题求解:有解,系统M不满足性质P,给出反例,无解,系统M有界满足性质P,增大k值,进入下一个检测周期,直到k值足够大且在每个限界模型检测周期内待验证系统M都有界满足性质P。本发明专利技术使用PPTL描述系统性质,解决了CTL和LTL表达能力有限的问题,并通过限制搜索长度减少搜索状态数,缓解了状态空间爆炸,融合了PPTL和BMC各自的优点,使系统复杂性质的验证更方便有效。本发明专利技术适用于软硬件系统以及通信协议的形式化验证。

【技术实现步骤摘要】

本专利技术属于计算机应用
,主要涉及系统形式化验证
,尤其涉及命题投影时序逻辑(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&本文档来自技高网
...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:段振华何佳田聪王小兵
申请(专利权)人:西安电子科技大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1