[发明专利]一种基于软件缺陷模式的测试方法及系统有效
申请号: | 200810114261.0 | 申请日: | 2008-06-02 |
公开(公告)号: | CN101286132A | 公开(公告)日: | 2008-10-15 |
发明(设计)人: | 宫云战;陈俊亮;杨朝红;肖庆;王雅文 | 申请(专利权)人: | 北京邮电大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京汇泽知识产权代理有限公司 | 代理人: | 张颖玲;王黎延 |
地址: | 100876*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 软件 缺陷 模式 测试 方法 系统 | ||
1、一种基于软件缺陷模式的测试方法,其特征在于,该方法包括:
a.读取被测程序源代码文件及缺陷状态机SDSM描述文件,对被测程序进行预处理,解析SDSM描述文件;
b.对被测程序进行词法分析和语法分析,构造出被测程序的抽象语法树;
c.根据抽象语法树,生成控制流图和符号表,并根据控制流图和符号表,进行变量取值区间集的计算与更新;
d.根据符号表,对被测程序进行函数调用关系分析,生成函数调用关系图;
e.根据函数调用关系图以函数为单位对控制流图进行遍历,并计算控制流图上每个节点缺陷状态机的状态变迁,缺陷状态机进入缺陷状态时报告对应的检查点。
2、根据权利要求1所述的方法,其特征在于,该方法进一步包括:
f.对于每个检查点,确认是否为真的缺陷。
3、根据权利要求1所述的方法,其特征在于,该方法还包括:设置基于软件缺陷模式测试方法的技术指标,包括:漏报率ER,准确率CR,误报率DR,缺陷检测率DDR,自动缺陷检测率ADR。
4、根据权利要求1所述的方法,其特征在于,步骤b所述抽象语法树的所有节点支持访问者模式接口。
5、根据权利要求1所述的方法,其特征在于,步骤c所述控制流图及符号表的生成分别通过采用访问者模式遍历抽象语法树生成;所述进行变量取值区间集的计算与更新为:沿着被测程序控制流正向遍历控制流图、采用递归调用的方法进行。
6、根据权利要求1所述的方法,其特征在于,步骤e所述对控制流图进行遍历由缺陷模式分析引擎进行,缺陷模式分析引擎根据步骤c所述变量取值区间集的计算,识别不可达路径上的缺陷,且不会将其报为缺陷。
7、一种基于软件缺陷模式的测试系统,其特征在于,该系统包括:
输入模块,用于提供被测程序源代码文件、软件缺陷模式对应的缺陷状态机SDSM描述文件和系统配置文件;
缺陷模式统一测试框架,用于读入输入模块提供的文件,对被测程序进行基于缺陷模式的测试并生成分析缺陷分布情况的缺陷报表。
8、根据权利要求7所述的系统,其特征在于,该系统还包括:
用户界面模块,用于提供用户使用的界面,显示缺陷报表。
9、根据权利要求7所述的系统,其特征在于,所述软件缺陷模式包括故障模式、安全漏洞模式、低性能模式、坏习惯模式、疑问代码模式、死锁模式。
10、根据权利要求7所述的系统,其特征在于,所述缺陷模式统一测试框架进一步包括:
被测程序预处理模块,读入被测程序源代码文件进行预处理;
SDSM解析器,读入软件缺陷模式对应的缺陷状态机SDSM描述文件,并解析SDSM描述文件;
词法分析及语法分析模块,对被测程序进行词法分析、语法分析;
抽象语法树生成模块,生成被测程序的抽象语法树;
控制流图生成模块,采用访问者模式、遍历抽象语法树,生成被测程序的控制流图;
符号表生成模块,采用访问者模式、遍历抽象语法树,生成被测程序的符号表;同时对被测程序进行语义分析;
区间运算模块,通过区间运算计算变量在程序中的取值区间集;
函数调用关系图生成模块,根据符号表,对被测程序进行函数调用关系分析,生成函数调用关系图;
缺陷模式分析引擎,根据函数调用关系图以函数为单位对控制流图进行遍历,根据缺陷状态机的变迁,对被测程序进行测试,缺陷状态机进入缺陷状态时报告对应的检查点,并生成缺陷报表。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京邮电大学,未经北京邮电大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200810114261.0/1.html,转载请声明来源钻瓜专利网。
- 上一篇:活塞往复式压缩机阶梯压缩方法及系统
- 下一篇:三维管幕暗挖法