掌桥专利:专业的专利平台
掌桥专利
首页

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

文献发布时间:2024-04-18 20:01:23


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

技术领域

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

背景技术

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

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

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

BMC是一种简单但高效的模型检测方法。首先,BMC会判断初始状态是否满足属性P,如果不满足则返回。否则会从初始状态开始进行k(初始为1)步转移关系的展开,并判断第k步是否可以转移到

PDR是一种较为复杂的模型检测算法,它维持了一个满足安全性质P的状态集合序列F,通过检查状态序列的转移来证明模型满足安全性质。其中,F

发明内容

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

本发明解决其技术问题所采用的技术方案如下:

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

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

通过模型检测模块结合BMC算法和PDR算法对电路性质进行验证。

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

具体来说,本发明的上述方法包括以下步骤:

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

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

3)在当前已经完成验证帧数(即状态转移步数)k=N的前提下,在一步转移内应用属性指导可达性(PDR)算法。PDR算法维持了一个满足安全性质P的状态集合序列F={F

第一步,算法拟对状态集合序列F进行扩充,在序列末尾插入F

第二步,进一步判断F

4)从PDR中采集子句信息并传递子句至BMC。PDR中的状态集合F中实际存储的为系统k步内不可达的状态(学习子句的非)。这些约束可以以布尔公式的形式传递到BMC模型检查器中,通过对BMC的N+1步可达状态的缩减来提高验证效率。对于不在集合F

其中,

5)采用BMC算法验证模型在当前步数的安全性。假设当前已验证了电路模型在k=N步转移内安全,则使用限界模型检测算法验证模型N+1步转移后的安全性。首先,将逻辑综合得到的AIG格式电路进行N+1步展开,得到表示原电路N+1步转移的组合电路;其次,将组合电路及N+1步转移产生的安全性质约束编码为比特级布尔公式,以便SAT求解器调用;最后,调用增量式SAT求解器,来判断模型在N+1步转移后是否满足安全性质,求解公式如下:

其中,x

值得一提的是,BMC和PDR可以通过并行的方式独立运行,减少等待时间的开销。

本发明还提供一种基于属性指导可达性的增强限界模型检查系统,其是基于PDR增强的BMC模型检查系统,包括预处理器模块和模型检测模块;

所述预处理器模块,用于对寄存器传输级电路进行逻辑综合;

所述模型检测模块,用于结合BMC算法和PDR算法对电路性质进行验证。

进一步地,所述预处理器模块,用于对Verilog格式的寄存器传输级电路进行高层综合和逻辑综合,得到门级网表AIG格式的电路;

进一步地,所述模型检测模块,用于对特定的AIG电路进行安全性验证。该模块利用PDR算法的子句学习能力,来增强BMC算法的求解能力。首先采用PDR算法,维持一个满足安全性质P的状态集合序列F,寻找并删除状态集合中会一步转移到

本发明还提供一种计算机设备,包括存储器和处理器,所述存储器存储计算机程序,所述计算机程序被配置为由所述处理器执行,所述计算机程序包括用于执行上述方法中各步骤的指令。

本发明还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤。

与现有技术相比,本发明的有益效果如下:

1.综合利用BMC和PDR的优点:本发明结合有界模型检测算法和增量式归纳子句构造算法,可以综合利用两者的优点。BMC算法在验证早期阶段更高效,而PDR算法在验证后续阶段可能更有优势。因此,本发明所采用的融合算法可以根据验证问题的性质和状态空间的复杂性,在不同阶段利用方法各自的优势,以提高效率。且本发明可以更进一步地提高模型检测的自动化程度。

2.状态空间的有效管理:本发明可以采用多种策略来管理状态空间,包括状态抽象、状态缩减和增量验证等。这有助于应对传统模型检测方法的状态空间爆炸问题,提高验证效率。

3.适用性广泛:本发明可以应用于各种不同类型的系统和性质验证,包括硬件、软件和嵌入式系统等。

附图说明

图1是本发明的基于属性指导可达性的增强限界模型检查方法的总流程图。

图2是本发明的基于属性指导可达性的增强限界模型检查系统的结构示意图。

具体实施方式

下面通过实施例,对本发明的方案进行更为详细具体的说明:

本发明的一种基于属性指导可达性的增强限界模型检查方法,其流程如图1所示。该系统以寄存器传输级电路作为输入,通过预处理器模块对电路进行逻辑综合,进而通过模型检测模块对电路性质进行验证。在模型检测模块中,首先采用PDR算法对电路进行k步验证,若找到反例或成功证明性质安全,则程序终止;否则进行不变式信息采集,应用BMC算法检查模型k步转移内的安全性,若性质安全,则转移步数加一,再次执行模型检测模块;否则算法找到反例路径,程序终止。

本发明的一种基于属性指导可达性的增强限界模型检查系统,包括数据处理模块和模型验证模块,如图2所示,各模块的具体操作步骤如下:

1.数据处理模块:

以工业常用的4位计数器电路为例,可按现有的技术,使用逻辑综合工具对寄存器传输级4位计数器电路counter_4.v进行综合,得到门级电路counter_4.aig。AIG格式电路的输入段记为PI={i

2.模型验证模块:

(1)检查初始状态可达性。将门级电路counter_4.aig的各部分元件及不变式约束编码为布尔公式,初始状态记为I,转移关系记为T,待验证性质记为P,成为可供SAT求解器调用的实例。首先检查初始状态是否满足安全性质,对如下的合取范式进行求解:

上述合取范式无解,说明初始状态满足安全性质,继续检查模型在一步转移后是否满足安全性质,对如下的合取范式进行求解:

上述合取范式同样无解,说明模型在一步转移后是否满足安全性质,初始状态验证成功。

(2)在状态转移步数k=1已经完成验证的前提下,在一步转移内应用属性指导可达性(PDR)算法。PDR算法对状态集合序列F进行扩充,在序列末尾插入F

算法尝试寻找状态集合F

至此,状态集合F

(3)从PDR中采集子句信息并传递子句至BMC。对于不在状态集合F

其中,

(4)采用BMC算法验证模型在2步内的安全性。首先,将逻辑综合得到的AIG格式电路进行2步展开,得到表示原电路2步转移的组合电路;其次,将该组合电路及安全性质约束编码为比特级布尔公式,以便SAT求解器调用;最后,结合步骤(3)得到的约束子句,调用SAT求解器,来判断模型是否在2步转移后是否满足安全性质,求解公式如下:

求解器返回无解,说明模型在2步转移内满足安全性质,则令当前已验证步数增加为k=1+1=2。

(5)在状态转移步数k=2已经完成验证的前提下,在一步转移内应用属性指导可达性(PDR)算法。算法对状态集合序列F进行扩充,在序列末尾插入F

接着对集合F

本发明的另一实施例中,提供一种计算机设备(计算机、服务器、智能手机等),其包括存储器和处理器,所述存储器存储计算机程序,所述计算机程序被配置为由所述处理器执行,所述计算机程序包括用于执行本发明方法中各步骤的指令。

本发明的另一实施例中,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现本发明方法的步骤。

在以上的实施方式中,本发明采用了多种策略来管理状态空间,包括状态抽象、状态缩减和增量验证等,有效应对传统模型检测方法难以处理的状态空间爆炸等问题,提高了模型验证效率。并且,本发明进行模型检测的各个环节无需人为干预,大幅提高了模型检测的自动化程度。它可以自动选择合适的验证方法和参数设置,从而减少了用户的干预和配置工作。

以上公开的本发明的具体实施例,其目的在于帮助理解本发明的内容并据以实施,本领域的普通技术人员可以理解,在不脱离本发明的精神和范围内,各种替换、变化和修改都是可能的。本发明不应局限于本说明书的实施例所公开的内容,本发明的保护范围以权利要求书界定的范围为准。

相关技术
  • 圆柱形电池用盖帽组合及圆柱形二次电池
  • 圆柱形铝空电池结构
  • 圆柱形锌空电池中阳极电流收集体结构及其制造方法
技术分类

06120116555821