[发明专利]一种基于插值的模型检测路径缩减方法、计算机有效
申请号: | 201710896756.2 | 申请日: | 2017-09-28 |
公开(公告)号: | CN107844415B | 公开(公告)日: | 2021-02-05 |
发明(设计)人: | 田聪;段钊;段振华 | 申请(专利权)人: | 西安电子科技大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 西安长和专利代理有限公司 61227 | 代理人: | 黄伟洪;何畏 |
地址: | 710071 陕西省*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 模型 检测 路径 缩减 方法 计算机 | ||
1.一种基于插值的模型检测路径缩减方法,其特征在于,所述基于插值的模型检测路径缩减方法读入C程序,对C程序进行语法语义分析,并从抽象语法树中提取出控制流图CFG;给CFG添加safety插值和error插值,扩展CFG;在根据CFG生成抽象可达图ARG的过程中,在每一个状态,判断safety插值和error插值是否被当前路径公式蕴含;
如果某一个状态的error插值被蕴含,则说明程序存在一条真反例路径,程序不安全,验证结束;如果safety插值被蕴含,则说明该状态的后续所有路径都是安全的,不需要遍历,减少了遍历的路径;如果发现一个虚假反例路径,则根据Craig插值,计算和更新safety插值和error插值;
所述基于插值的模型检测路径缩减方法包括以下步骤:
步骤一,根据待验证的程序,生成控制流图CFG,给CFG中的结点添加3个属性:R插值,S插值和E插值,R插值是结点可达的约束条件,判断一个状态的可达性;S插值和E插值对路径进行规约,加快程序的验证;给CFG的边添加属性W;一条边的W值表示以该边指向的结点为根结点的子图中,还没有被遍历的分支的个数;
步骤二,根据生成的CFG,生成抽象可达图ARG,如果沿着一条路径生成一个新状态s,如果s对应的R插值被满足,说明状态s可达,继续沿着状态s遍历该路径;否则,状态s不可达,则该路径终止,遍历其他路径;对于一个可达的状态s,如果状态s对应的E插值被该路径对应的路径公式蕴含,说明沿着该状态存在一条到达目标状态的路径,程序不安全;如果状态s对应的S插值被蕴含,说明以状态为起点的所有路径都是安全的,不需要沿着状态s探索程序;如果状态s是可达的,且E插值和S插值都不被蕴含,则继续沿着状态s遍历该路径;
步骤三,在生成ARG的过程中,发现一条反例路径,到达目标状态,则需要进一步判断反例路径是否虚假;不是虚假反例,则说明程序是不安全的;否则,根据虚假反例,细化模型,分别计算并更新对应状态的R插值,S插值和E插值,执行重新生成ARG,直到找到一条真反例路径或不存在反例路径。
2.如权利要求1所述的基于插值的模型检测路径缩减方法,其特征在于,所述步骤一根据待验证的程序,生成控制流图CFG,并且初始化结点和边的属性,包括以下步骤:
(1)找到CFG中的目标结点,从目标结点开始反向遍历CFG,遍历的结点和边都保留,没有遍历到的结点和边都删除;
(2)得到裁剪后的CFG,初始化属性的值,对各个结点的三种插值进行初始化,初次遍历CFG,生成ARG的过程中,每一个结点的R插值的初始值都为{true};对于S插值,定义了为一个二元组:(F,Is),其中,F的值域为{full,half},Is的值是一个由谓词组成的合取式;对于一个结点l,如果l没有后继结点或者l的所有后继结点的S插值都是full,记为f,表示l的所有后继结点都被遍历过,则l的S插值也是full,否则,l的S插值为half,记为h,具体的形式如下:
若l是终结点,S插值的初始值为(full,true),表示如果到达终结点,路径一定是安全的;若l是目标结点,S插值的初始值为(full,false),表示如果到达目标结点,路径一定是反例路径;对于其他结点,S插值的初始值为(half,true),具体的形式如下:
若l是目标结点,E插值的初始值为true,表示路径一定是真反例;若l是终结点,E插值的初始值为false,表示路径一定不可能到达目标结点;对于其他结点,E插值的初始值为false,初始认为都不能到达目标结点;对于每一条迁移的W属性,初始值为⊥,表示还没开始遍历,其中,W的值域为{N+,⊥},N+是正整数集合。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安电子科技大学,未经西安电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710896756.2/1.html,转载请声明来源钻瓜专利网。