[发明专利]一种基于状态分区的静态缺陷检测求精方法有效
申请号: | 201410138438.6 | 申请日: | 2014-04-08 |
公开(公告)号: | CN103927258B | 公开(公告)日: | 2017-06-23 |
发明(设计)人: | 金大海;张大林;宫云战;王雅文;黄俊飞 | 申请(专利权)人: | 北京邮电大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京路浩知识产权代理有限公司11002 | 代理人: | 李迪 |
地址: | 100876 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 状态 分区 静态 缺陷 检测 方法 | ||
1.一种基于状态分区的静态缺陷检测求精方法,其特征在于,包括具体以下步骤:
S1:将待检测的缺陷模式的属性状态机的状态集合置于待测函数控制流入口;
S2:程序通过路径由前置位置执行到目标位置;
S3:属性状态机的状态沿程序路径进行传递以及变化,在所述目标位置处到达预设状态;
S4:取控制流当前节点,判断是否为控制流最后节点;
S5:如果不为控制流最后节点,则根据当前节点信息更新属性状态条件以及属性状态分区集合信息;
程序通过路径执行到目标位置,属性状态机的状态沿程序路径进行传递和变化,在所述目标位置处到达预设状态,将路径在目标位置处的路径条件记录在预设状态上,为所述属性状态条件;
所述属性状态分区集合信息包含属性状态分区信息;程序通过路径由前置位置执行到目标位置,属性状态机的状态沿程序路径进行传递和变化,在所述目标位置处到达预设状态,将路径在前置位置处的路径条件记录在预设状态上,为所述属性状态分区信息;
其中,路径在预设位置处的路径条件为程序路径在所述预设位置处限定的变量取值范围集合;
所述步骤S5进一步还包括:
通过所述属性状态条件判断不可达路径,并删除所述属性状态分区中不可达属性状态分区信息;
若所述属性状态条件包含属性状态分区信息,则保存该属性状态分区信息,若所述属性状态条件与所述状态分区信息不存在包含关系,则删除属性状态分区信息。
2.如权利要求1所述的方法,其特征在于,所述置于待测函数控制流入口的集合为从控制流头节点依次进行状态迭代的缺陷模式属性状态机集合,其中,每个状态机的当前状态都关联当前控制流节点的所有变量取值信息。
3.如权利要求1所述的方法,其特征在于,所述步骤S5进一步包括:
将相同状态的所述属性状态条件进行合并,所述属性状态分区不变。
4.如权利要求1所述的方法,其特征在于,所述步骤S5进一步包括:若存在$error,则判定为缺陷状态迁移,其中所述$error用于表示缺陷模式状态机的状态集合中的错误状态。
5.如权利要求1所述的方法,其特征在于,还包括,删除重复的所述属性状态分区信息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京邮电大学,未经北京邮电大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410138438.6/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种组合前照灯定位安装方法及工具
- 下一篇:多用途车辆