System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于属性指导可达性的增强限界模型检查方法和系统技术方案_技高网

一种基于属性指导可达性的增强限界模型检查方法和系统技术方案

技术编号:40636651 阅读:3 留言:0更新日期:2024-03-13 21:20
本发明专利技术涉及一种基于属性指导可达性的增强限界模型检查方法和系统。该方法包括:以寄存器传输级电路作为输入,通过预处理器模块对电路进行逻辑综合;通过模型检测模块结合BMC算法和PDR算法对电路性质进行验证。模型检测模块首先采用PDR算法对电路进行k步验证,若找到反例或成功证明性质安全,则程序终止;否则进行不变式信息采集,应用BMC算法检查模型k步转移内的安全性,若性质安全,则转移步数加一,再次执行模型检测模块,否则算法找到反例路径,程序终止。本发明专利技术可以自动化地验证计算机系统、软件程序或其他系统是否符合给定的规范或性质,结合了BMC和PDR两者各自的优势,能够增强有界模型检测算法的求解能力,提高模型检测的效率和可靠性。

【技术实现步骤摘要】

本专利技术涉及模型检测领域,具体为一种基于属性指导可达性的增强限界模型检查方法和系统


技术介绍

1、作为二十世纪八十年代以来最成功的形式验证技术之一,模型检测技术能够自动检测某个系统的模拟运行结果是否满足特定的属性或规范,用清晰简洁和自动化程度高的方法来保证计算机软硬件系统的正确性和可靠性。经过数十年的发展,它已被应用于计算机硬件、通信协议、控制系统、安全认证协议等方面的分析与验证中,取得了令人瞩目的成功。模型检测已经从学术界辐射到了产业界,引发了重大的关注。提高模型检测效率也成为了国内诸多高校和研究所想重点突破的一个方向,属于卡脖子的国家需求,也是很重要的产业方向。

2、二十一世纪以来,互联网应用更加广泛,复杂的计算机系统产生了更多的不确定是否安全和准确的系统应用,需要模型检测算法对其安全性和准确性进行验证。此时传统的模型检测有序二叉决策图技术开始显露出不足,出现了状态数目过多,存储困难,难以适用于求解大规模电路等问题。为了解决这些问题,学者提出将状态的存储转化为命题逻辑的查询问题,提出了基于布尔逻辑可满足性问题(简称sat)的模型检测算法,起到了不错的效果,这些算法包括但不限于有界模型检测算法(bounded model checking,简称bmc)与属性指导可达性算法(property directed reachability,简称pdr)等。bmc和pdr算法是两类常用的基于sat的模型检测算法,用于验证包含有限状态的时序系统的性质,一般常用于验证安全性(safety)属性,即是否坏态不可达(或者某属性p恒成立)。pdr和bmc算法在求解能力上有一定的互补性。

3、sat是判定给定的合取范式是否具有可满足性的问题,而电路的状态和状态间的转移关系可以自然的用sat公式表示。因此bmc和pdr算法均可依赖sat求解器的算力引擎来辅助验证,在处理状态爆炸问题上效果明显,并且模型检测的准确率与运行时间相比于传统的模型检测方法提高幅度明显。目前,用于解决sat问题的方法主要分为冲突驱动的子句学习算法(简称cdcl)和局部搜索算法(简称sls)两类。现今最顶尖的sat求解器多为两类算法的混合算法,代表求解器有kissat、relaxed、cryptominisat等。

4、bmc是一种简单但高效的模型检测方法。首先,bmc会判断初始状态是否满足属性p,如果不满足则返回。否则会从初始状态开始进行k(初始为1)步转移关系的展开,并判断第k步是否可以转移到如果无法找到,说明该模型在k步转移范围内,满足安全性质;否则,说明算法说明至少存在一条从初始状态开始的反例路径,算法终止。接着,bmc增大步数k,调用sat求解器来判断模型是否可以k步转移到不安全的状态。bmc算法不断迭代增加步数,直到算法在某深度找到反例、验证成功预期的深度或者资源耗尽后终止。作为一种非完备算法,bmc算法的纠错能力强,能高效地检测出给定模型违背某一安全性质的反例状态,但无法证明给定模型的安全性质。该方法严重依赖sat求解的算力,sat求解器的性能直接决定了bmc算法的能力。

5、pdr是一种较为复杂的模型检测算法,它维持了一个满足安全性质p的状态集合序列f,通过检查状态序列的转移来证明模型满足安全性质。其中,f0表示初始状态集合i,fi(i>0)表示从初始状态出发,i步转移可以达到的状态的集合的超集。pdr算法不断地寻找fi中一步转移到的状态s,若fi中存在一步转移到的状态s,则递归地向前寻找fi-1中是否存在两步转移到的状态s′,直到f0。如果通过这种方式发现f0中存在多步转移到的状态s,则表明算法找到了从初始状态开始的反例路径,算法终止;否则,算法证明了一步转移到的状态s并不在fi中,模型在i步转移内满足安全性质,因此将s从fi及fi之前的集合中删除。当fi中的所有一步可达的状态均被检查完成之后,pdr则会对fi+1进行考察。通过这种方式,如果发现存在某两个相邻的状态集合fi=fi+1,则说明找到了一个不变式,证明安全性质在给定模型中始终成立。作为一种完备算法,pdr算法既可以找出系统中违背性质的反例,也可以通过构造归纳不变式的方式证明系统满足特定的安全性质。bmc和pdr有一定的求解能力的互补性,且pdr有可能找到一条更深路径的反例。相对地,pdr算法在时间与空间上的开销一般高于bmc算法。工业应用中,由于bmc易实现,且可在深度受限的前提下满足实际的大部分应用场景,相对pdr来说使用频率更高。


技术实现思路

1、为了克服现有的bmc算法对sat求解能力的严重依赖,且pdr算法难以适配大规模样例的不足,本专利技术实现了一种新型的模型检测系统(pdr-enhanced bmc,简称pebmc),该系统内部融合了一套以bmc为主体引擎,pdr为辅助的模型检测算法。它将pdr过程中学习到的归纳相关不变式用于增强bmc系统。pebmc系统可以自动化地验证计算机系统、软件程序或其他系统是否符合给定的规范或性质。该系统结合了bmc和pdr两者各自的优势,来增强有界模型检测算法的求解能力,提高了模型检测的效率和可靠性。

2、本专利技术解决其技术问题所采用的技术方案如下:

3、一种基于属性指导可达性的增强限界模型检查方法,包括以下步骤:

4、以寄存器传输级电路作为输入,通过预处理器模块对电路进行逻辑综合;

5、通过模型检测模块结合bmc算法和pdr算法对电路性质进行验证。

6、进一步地,在模型检测模块中,首先采用pdr算法对电路进行k步验证,若找到反例或成功证明性质安全,则程序终止;否则进行不变式信息采集,应用bmc算法检查模型k步转移内的安全性,若性质安全,则转移步数加一,再次执行模型检测模块;否则bmc算法找到反例路径,程序终止。

7、具体来说,本专利技术的上述方法包括以下步骤:

8、1)程序输入为verilog格式的寄存器传输级电路描述文件。作为一种硬件描述语言(hdl),verilog语言常用于数字电路和芯片设计,来描述数字电路和系统的行为、结构和功能。电路文件需要逻辑门、寄存器、数据通路等元件来描述一个完整的带有比特输入与输出的电路。同时,电路文件中需定义一个以上的不变式条件,表示电路模型需要满足的安全性质,以便后续验证。

9、2)采用逻辑综合工具对电路进行综合,得到用aig格式(与非图)表示的电路。aig格式采用有向无环图的数据结构来表示电路,且电路中的与门只有二输入和零输入两类。第一步是识别电路中的逻辑元素,包括逻辑门、寄存器等;第二步开始对电路进行优化,以最小化门延迟、功耗等;第三步将识别出的逻辑元素转化为aig格式,使用与门和反相器来表示电路中的逻辑函数;第四步将原电路映射到aig网络结构上,得到一个仅用二输入与门和输入输出端口表示的原电路。生成的aig格式电路通常用二进制文件表示,作为后续步骤的输入用于电路验证。

10、3)在当前已经完成验证帧数(即状态转移步数)k=n的前提下,在一步转移本文档来自技高网...

【技术保护点】

1.一种基于属性指导可达性的增强限界模型检查方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的方法,其特征在于,所述以寄存器传输级电路作为输入,是输入Verilog格式的寄存器传输级电路描述文件;所述电路描述文件通过包含逻辑门、寄存器、数据通路在内的元件来描述一个完整的带有比特输入与输出的电路,并定义一个以上的不变式条件,表示电路模型需要满足的安全性质,以便后续验证。

3.根据权利要求1所述的方法,其特征在于,所述对电路进行逻辑综合,是采用逻辑综合工具对电路进行综合,得到用AIG格式表示的电路,包括以下步骤:

4.根据权利要求1所述的方法,其特征在于,所述模型检测模块首先采用PDR算法对电路进行k步验证,若找到反例或成功证明性质安全,则程序终止;否则进行不变式信息采集,应用BMC算法检查模型k步转移内的安全性,若性质安全,则转移步数加一,再次执行模型检测模块;否则BMC算法找到反例路径,程序终止。

5.根据权利要求4所述的方法,其特征在于,所述PDR算法维持一个满足安全性质P的状态集合序列F={F0,F1,…,FN},其中F0表示初始状态集合I;Fi表示从初始状态出发,i步转移能够达到的状态集合的超集;所述PDR算法的验证步骤包括:

6.根据权利要求4所述的方法,其特征在于,所述BMC算法的验证步骤包括:

7.根据权利要求6所述的方法,其特征在于,所述SAT求解器采用的求解公式如下:

8.一种基于属性指导可达性的增强限界模型检查系统,其特征在于,包括:

9.一种计算机设备,其特征在于,包括存储器和处理器,所述存储器存储计算机程序,所述计算机程序被配置为由所述处理器执行,所述计算机程序包括用于执行权利要求1~7中任一项所述方法的指令。

10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储计算机程序,所述计算机程序被计算机执行时,实现权利要求1~7中任一项所述的方法。

...

【技术特征摘要】

1.一种基于属性指导可达性的增强限界模型检查方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的方法,其特征在于,所述以寄存器传输级电路作为输入,是输入verilog格式的寄存器传输级电路描述文件;所述电路描述文件通过包含逻辑门、寄存器、数据通路在内的元件来描述一个完整的带有比特输入与输出的电路,并定义一个以上的不变式条件,表示电路模型需要满足的安全性质,以便后续验证。

3.根据权利要求1所述的方法,其特征在于,所述对电路进行逻辑综合,是采用逻辑综合工具对电路进行综合,得到用aig格式表示的电路,包括以下步骤:

4.根据权利要求1所述的方法,其特征在于,所述模型检测模块首先采用pdr算法对电路进行k步验证,若找到反例或成功证明性质安全,则程序终止;否则进行不变式信息采集,应用bmc算法检查模型k步转移内的安全性,若性质安全,则转移步数加一,再次执行模型检测模块;否则bmc算法找到反例路径,程序终止。

<...

【专利技术属性】
技术研发人员:朱凌峰张昕荻李勇坚蔡少伟
申请(专利权)人:中国科学院软件研究所
类型:发明
国别省市:

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

1