[发明专利]处理路径敏感符号定义的源代码静态缺陷分析器及其方法无效
申请号: | 201110256022.0 | 申请日: | 2011-08-31 |
公开(公告)号: | CN102279800A | 公开(公告)日: | 2011-12-14 |
发明(设计)人: | 吴世忠;张普含;董国伟;曹明;郝永乐;陈宇;蔡晶晶;朱钱杭 | 申请(专利权)人: | 中国信息安全测评中心;北京启明星辰信息安全技术有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京安信方达知识产权代理有限公司 11262 | 代理人: | 栗若木;王漪 |
地址: | 100085 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 处理 路径 敏感 符号 定义 源代码 静态 缺陷 分析器 及其 方法 | ||
1.一种处理路径敏感符号定义的源代码静态缺陷分析方法,包括:
A、根据输入的源代码文件产生中间代码;
B、遍历所述中间代码中的各路径,逐条分析语句,得到分析数据;如果语句是符号定义类型语句则进行步骤C;各路径都已遍历完后进行步骤D;
C、将该符号定义类型语句中所定义的符号记录在当前遍历的路径下,将该符号的当前定义指向当前遍历的路径中的定义;返回步骤B,分析下一条语句;
D、根据所述分析数据及预定的缺陷规则生成缺陷分析结果。
2.如权利要求1所述的方法,其特征在于,所述步骤C包括:
C1、判断该符号定义类型语句中所定义的符号对应的符号结构是否已建立,如未建立则建立对应的符号结构后进行步骤C2;如已建立则判断该符号是否在当前遍历的路径的符号定义列表中,如果不在则进行步骤C2,如果在则进行步骤C3;
C2、将该符号加入当前遍历的路径的符号定义列表,标记符号的当前状态,进行步骤C3;
C3、根据当前遍历的路径中对该符号的定义创建新定义的实例,将该新定义的实例保存在该符号对应的符号结构中,将该符号的当前定义指向该新定义的实例;返回步骤B,分析下一条语句。
3.如权利要求2所述的方法,其特征在于,所述步骤C3中将新定义的实例保存在该符号的符号结构中是指:
将该新定义的实例压入该符号对应的符号结构的定义实例堆栈中。
4.如权利要求3所述的方法,其特征在于,所述步骤B中还包括:
当一条路径中的语句都分析完时,将该路径的符号定义列表中的符号回滚到该符号上一个标记状态;回滚方法为将该符号对应的符号结构的定义实例堆栈中的实例依次出栈,直到该定义实例堆栈恢复到最近一次标记该符号时的情况。
5.一种处理路径敏感符号定义的源代码静态缺陷分析器,包括:
源码解析模块,用于根据输入的源代码文件产生中间代码;
结果输出模块,用于根据所述分析数据及预定的缺陷规则生成缺陷分析结果;
缺陷分析模块;
其特征在于,还包括:符号定义处理模块;
所述缺陷分析模块用于遍历所述中间代码中的各路径,逐条分析语句,得到分析数据;如果语句是符号定义类型语句则发送给所述符号定义处理模块;各路径都已遍历完后将分析数据发送给所述结果输出模块;
所述符号定义处理模块用于将所接收的符号定义类型语句中所定义的符号记录在当前遍历的路径下,将该符号的当前定义指向当前遍历的路径中的定义;通知所述缺陷分析模块分析下一条语句。
6.如权利要求5所述的源代码静态缺陷分析器,其特征在于,所述符号定义处理模块包括:
添加单元、实例单元;
创建单元,用于判断该符号定义类型语句中所定义的符号对应的符号结构是否已建立,如未建立则建立对应的符号结构后指示所述添加单元工作;如已建立则判断该符号是否在当前遍历的路径的符号定义列表中,如果不在则指示所述添加单元工作,如果在则指示所述实例单元工作;
所述添加单元用于将该符号加入当前遍历的路径的符号定义列表,标记符号的当前状态,然后指示所述实例单元工作;
所述实例单元用于根据当前遍历的路径中对该符号的定义创建新定义的实例,将该新定义的实例保存在该符号对应的符号结构中,将该符号的当前定义指向该新定义的实例,然后通知所述缺陷分析模块分析下一条语句。
7.如权利要求6所述的源代码静态缺陷分析器,其特征在于,所述实例单元将新定义的实例保存在该符号的符号结构中是指:
所述实例单元将该新定义的实例压入该符号对应的符号结构的定义实例堆栈中。
8.如权利要求7所述的源代码静态缺陷分析器,其特征在于:
所述缺陷分析模块还用于当一条路径中的语句都分析完时,将该路径的符号定义列表中的符号回滚到该符号上一个标记状态;回滚方法为将该符号对应的符号结构的定义实例堆栈中的实例依次出栈,直到该定义实例堆栈恢复到最近一次标记该符号时的情况。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国信息安全测评中心;北京启明星辰信息安全技术有限公司,未经中国信息安全测评中心;北京启明星辰信息安全技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110256022.0/1.html,转载请声明来源钻瓜专利网。
- 上一篇:护肩、防寒保暖被子
- 下一篇:一种具有幻彩效果的炊具