[发明专利]一种缺陷处理方法及缺陷处理装置有效
申请号: | 201310516392.2 | 申请日: | 2013-10-28 |
公开(公告)号: | CN103559127B | 公开(公告)日: | 2017-03-29 |
发明(设计)人: | 王雅文;宫云战;金大海;黄俊飞;王前 | 申请(专利权)人: | 北京邮电大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F17/30 |
代理公司: | 北京派特恩知识产权代理有限公司11270 | 代理人: | 张振伟,王黎延 |
地址: | 100876 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 缺陷 处理 方法 装置 | ||
1.一种缺陷处理方法,其特征在于,所述方法包括:
通过表达式值静态默认描述语言SDDL-EXP生成语法类缺陷模式;其中,所述SDDL-EXP为预定的值相关缺陷模式语言;
根据所述语法类缺陷模式,在被测代码中查找检测点,并将所述语法类缺陷模式中的缺陷发生的条件实例化;
根据预设的规范化策略,将所述被测代码中的变量及表达式进行转换;
对转换后的被测代码进行后向的数据流分析,根据实例化的条件验证在所述检测点处是否有缺陷发生。
2.根据权利要求1所述的缺陷处理方法,其特征在于,所述通过SDDL-EXP,生成语法类缺陷模式,包括:
基于可扩展标记语言XML生成根标签<Default>,以及所述根标签<Default>的一级子标签:<Pattern>、<Operand>以及<Condition>,以及所述一级子标签<Operand>的二级子标签:<Order>和<Symbol>;
在所述一级子标签<Pattern>中,以伪代码形式生成缺陷模式相关表达式;
在所述二级子标签<Order>中,生成待检测的变量在所述缺陷模式相关表达式中的位置;
在所述二级子标签<Symbol>中,为所述待检测变量生成标识符;
在所述一级子标签<Condition>中,以所述标识符形式生成所述待检测变量发生缺陷的条件。
3.根据权利要求2所述的缺陷处理方法,其特征在于,所述方法还包括:基于XML生成根标签<Default>、以及所述根标签<Default>的一级子标签:<Pattern>、<Operand>以及<Condition>时,还生成所述根标签<Default>的一级子标签:<Description>、以及所述第一子标签<Description>的二级子标签:<Name>、<Date>、<Language>以及<Example>;
在所述二级子标签<Name>中,生成缺陷模式的名称;
在所述二级子标签<Date>中,生成缺陷模式的创建时间;
在所述二级子标签<Language>中,生成被检测代码的语言类型;
在所述二级子标签<Example>中,生成示例代码。
4.根据权利要求3所述的缺陷处理方法,其特征在于,所述根据所述语法类缺陷模式,在被测代码中查找检测点,并将所述语法类缺陷模式中的缺陷发生的条件实例化,包括:
解析所述一级子标签<Pattern>中的伪代码,确定出缺陷模式相关表达式的类型;
在所述被测代码中查找与所述缺陷模式相关表达式的类型相匹配的表达式,并作为检测点;
依据所述二级子标签<Order>,在所匹配的表达式中提取待检测的变量;
将所述一级子标签<Condition>中的所述待检测变量发生缺陷的条件中的标识符替换为所提取的待检测的变量。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京邮电大学,未经北京邮电大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310516392.2/1.html,转载请声明来源钻瓜专利网。
- 上一篇:双滚筒液压自动张紧无极绳绞车
- 下一篇:照明控制系统