循环单元的有界模型检测方法及装置制造方法及图纸

技术编号:43846111 阅读:18 留言:0更新日期:2024-12-31 18:40
本说明书实施例提供一种关于循环单元的有界模型检测技术方案,将待验证模块的循环单元中的内存连续型变量抽象为符号变量,并根据内存连续型变量对应的元素数量设置符号变量的取值区间,从而利用符号变量抽象描述代替循环单元中的循环语句对于元素值的穷举,而进行循环单元的内存安全性验证。另外,考虑到抽象为符号变量后无法得到具体值,还在后续使用循环语句结果值的验证语句中,设置覆盖循环语句结果取值范围的过近似取值范围进行验证。如此,可以提高验证效率。

【技术实现步骤摘要】

本说明书一个或多个实施例涉及计算机,尤其涉及循环单元的有界模型检测方法及装置


技术介绍

1、有界模型检测(bounded model checking,bmc)是一种通过有限地遍历机器语言描述的状态空间来验证是否满足目标属性的技术。这里的目标属性可以是预先确定的业务属性,例如与业务逻辑、内存安全等相关的各种属性。具体而言,bmc技术可以将应用或模块中的机器语言语句抽象为有限状态机,从而将机器语言的语句和待验证的属性等编码为sat/smt约束表达式,最终调用自动求解器,求解违反目标属性的反例。通常,在存在反例的情况下,表明未满足相应目标属性。在目标属性与内存安全相关时,bmc技术即可用来验证机器语言语句是否是内存安全的。

2、由于bmc技术需要穷尽地遍历应用或模块的状态空间,针对循环语句,需要将循环体展开到预先设定的次数,再进行状态空间的遍历。循环展开程度决定了对潜在安全问题挖掘的效果。对于需要完全展开循环才能发现的安全问题,当展开次数过大(如1000万次)时,转换后的约束表达式过多,调用求解器的求解时间也显著增加,甚至无法产生最终结果。如此,本文档来自技高网...

【技术保护点】

1.一种循环单元的有界模型检测方法,所述方法包括:

2.如权利要求1所述的方法,其中,所述内存连续型变量为以下中的一种:数组、向量、切片。

3.如权利要求1所述的方法,其中,所述第一符号变量用于抽象描述所述内存连续型变量的各个序次,所述第一取值区间的取值范围与内存连续型变量所对应的元素数量范围一致。

4.如权利要求1所述的方法,其中,所述第一检验语句包括:

5.如权利要求1所述的方法,其中,所述利用求解器求解包含所述第一检验语句和所述第二检验语句的约束表达式,从而进行所述第一循环单元的有界模型检测包括:

6.一种循环单元的有界模...

【技术特征摘要】

1.一种循环单元的有界模型检测方法,所述方法包括:

2.如权利要求1所述的方法,其中,所述内存连续型变量为以下中的一种:数组、向量、切片。

3.如权利要求1所述的方法,其中,所述第一符号变量用于抽象描述所述内存连续型变量的各个序次,所述第一取值区间的取值范围与内存连续型变量所对应的元素数量范围一致。

4.如权利要求1所述的方法,其中,所述第一检验语句包括:

5.如权利要求1所述的方法,其中,所述利用求解器求解包含所述第一检验语句和所述第二检验语句的约束表达式,从而进行所述第一循环单元的有界模型检测包括:

6.一种循环单元的...

【专利技术属性】
技术研发人员:王明华
申请(专利权)人:支付宝杭州信息技术有限公司
类型:发明
国别省市:

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

1