【技术实现步骤摘要】
一种验证分布式协议活性属性容错机制的检测方法及装置
本专利技术涉及模型检测领域,具体是涉及一种验证分布式协议活性属性容错机制的检测方法及装置。
技术介绍
模型检测用于对可靠性与安全性要求高的软硬件系统中,对系统整体进行建模来形式化描述系统在运行时所有可能发生的行为,通过遍历这些行为,找出是否存在违反技术人员系统设计属性的行为,如果存在则将违反行为作为反例输出。模型检测技术通过遍历系统空间可以将待验证系统中的所有违反属性的bug全部找出,保证了系统的高安全性与高可靠性。已有的模型检测技术分为实现级模型检测(implementation-level)和抽象模型检测,实现级模型检测是直接对待验证系统的实现代码进行运行时验证;而抽象模型检测是将待验证系统转换成抽象模型(自动机、Petri网等),在抽象模型上使用图论、集合论等相关知识进行验证。但是由于需要遍历系统所有的状态空间,模型检测技术一直受到待验证系统状态空间爆炸问题的困扰。同时,使用抽象模型的模型检测只能验证该系统的设计以及其抽象模型,却无法发现由于代码实现而 ...
【技术保护点】
1.一种验证分布式协议活性属性容错机制的检测方法,其特征在于,包括以下步骤:/n初始化待验证系统,将待验证系统初始化为初始状态;/n获取当前状态下待验证系统可以执行的迁移集T_Set;/n定义节点N1和节点N2当且仅当条件(1)和条件(2)同时满足时,在某一时刻节点N1和节点N2为对等节点;/n
【技术特征摘要】
1.一种验证分布式协议活性属性容错机制的检测方法,其特征在于,包括以下步骤:
初始化待验证系统,将待验证系统初始化为初始状态;
获取当前状态下待验证系统可以执行的迁移集T_Set;
定义节点N1和节点N2当且仅当条件(1)和条件(2)同时满足时,在某一时刻节点N1和节点N2为对等节点;
其中表示第i个节点在该时刻下可执行的功能集合;
定义迁移t1与迁移t2对应的操作内容相同当且仅当条件(3)和条件(4)同时满足时,迁移t1与t2对应的操作内容为相同操作;
迁移t1与迁移t2操作的对象相同或者为不同节点中一致的对象条件(3)
迁移t1与迁移t2对操作对象执行的行为相同条件(4)
基于对等约减策略约减迁移集T_Set,所述对等约减策略为从迁移集T_Set中任取两个迁移,如果这两个迁移的目标节点在待检测系统中是对等节点且迁移对应的操作内容为相同操作,那么这两个迁移就是对等冗余的,将其中任意一个迁移从迁移集T_Set中去除;
获取迁移后待验证系统所处状态,并重新获取当前状态下待验证系统可以执行的迁移集T_Set;
检查迁移后待验证系统所处状态安全性属性,获取安全性状态,其中安全性属性为在一个系统中每一个状态都必须满足的属性,安全性状态为满足安全性属性的迁移后待验证系统所处状态;
检查安全性状态的活性属性,获取活性状态,其中活性属性为不需要在系统的所有状态都满足,但总在未来的某个状态下满足的属性,活性状态为满足活性属性的安全性状态;
注入故障,重新检查待验证系统所处状态的安全性属性和活性属性;
若对于初始状态下待验证系统的迁移集T_Set中每一项迁移均被执行,输出反例集C,其中反例集C为导致迁移后待验证系统所处状态不满足安全性属性的状态迁移序列,以及导致系统状态在最大执行深度k下不满足活性属性的状态迁移序列的集合。
2.根据权利要求1所述的一种验证分布式协议活性属性容错机制的检测方法,其特征在于,获取迁移后待验证系统所处状态,具体包括以下步骤:
设置并确定待验证系统探索的最大执行深度k,其中k为正整数;
待验证系统选取一条未被执行过的迁移作为目标迁移,并基于目标迁移执行深度为0至最大执行深度k的探索,将待验证系统由初始状态迁移驱动至状态Sna,每次探索的深度值为上一次探索的深度值加一,直到当前待验证系统探索的深度超过最大执行深度k为止,其中目标迁移属于约减后的迁移集T_Set,n表示目标迁移在迁移集T_Set序列中项的编号,n为正整数且n∈{1,N},N为迁移集T_Set中迁移总数,a表示当前探索的深度/当前探索的次数,a为正整数且a∈{1,k}。
3.根据权利要求2所述的一种验证分布式协议活性属性容错机制的检测方法,其特征在于,检查迁移后待验证系统所处状态安全性属性,获取安全性状态,其中安全性属性为在一个系统中每一个状态都必须满足的属性,安全性状态为满足安全性属性的迁移后待验证系统所处状态,具体包括以下步骤:
获取安全性属性的安全性属性标准特征;
获取待检查的状态Sna的当前安全性属性相关特征;
比较状态Sna的当前安全性属性相关特征与安全性属性的安全性属性标准特征,若相同,确定状态Sna为安全性状态,若不同,确定状态Sna为反例状态,将迁移序列放入反例集C中,将待验证系统返回至上一个状态Sn(a-1),执行上述获取迁移后待验证系统所处状态,并重新获取当前状态下待验证系统可以执行的迁移集T_Set步骤,将新的待验证系统所处状态作为待检查的状态Sna,直至迁移集T_Set中每一项迁移均被执行。
4.根据权利要求3所述的一种验证分布式协议活性属性容错机制的检测方法,其特征在于,检查安全性状态的活性属性,获取活性状态,其中活性属性为不需要在系统的所有状态都满足,但总在未来的某个状态下满足的属性,活性状态为满足活性属性的安全性状态,具体包括以下步骤;
获取活性属性的活性属性标准特征;
获取待检查的安全性状态的活性属性相关特征;
比较安全性状态的活性属性相关特征与活性属性的活性属性标准特征,若相同,确定状态安全性状态为活性状态,将待验证系统返回至上一个状态Sn(a-1),定义目标迁移为关键迁移t,若不同,执行上述检查迁移后待验证系统所处状态安全性属性步骤,获取新的安全性状态,将新的安全性状态作为待检查的安全性状态;
若探索至最大执行深度k,仍然未出现待检查的安全性状态的当前活性相关特征与活性属性的活性属性标准特征相同,将迁移序列放入反例集C中。
5.根据权利要求4所述的一种验证分布式协议活性属性容错机制的检测方法,其特征在于,注入故障,重新检查待验证系统所处状态的安全性属性和活性属性,具体包括以下步骤:
设置并确定待验证系统的最大故障数;
在待验证系统中注入故障以破坏关键迁移t,故障恢复步数设置为0;
比较当前待验证系统中注入故障数目与最大故障数,若注入故障的数目小于最大故障数,注入故障后的待验证系统重新执行深度为0至最大执行深度k的探索,检查状态Sn(a-1)安全性属性和活性属性,若注入故障的数目等于最大故障数,执行上述获取迁移后待验证系统所处状态,并重新获取当前状态下待验证系统可以执行的迁移集T_Set步骤;
其中,检查状态Sn(a-1)安全性属性和活性属性具体为:
按如权利要求3和4中步骤执行Sn(a-1)的安全性属性和活性属性检测,若Sn(a-1)不满足安全性属性和在k步故障恢复深度内不能满足活性属性,将导致状态Sn(a-1)不满足安全性属性或在k步故障恢复深度内不能满足活性属性的迁移序列放入反例集C中,...
【专利技术属性】
技术研发人员:吴化尧,陆超逸,聂长海,
申请(专利权)人:南京大学,
类型:发明
国别省市:江苏;32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。