【摘要】 本发明公开了一种基于软件缺陷模式的测试方法,包括:读取被测程序源代码文件及缺陷状态机SDSM描述文件,对被测程序进行预处理,解析SDSM描述文件;对被测程序进行词法分析和语法分析,构造出抽象语法树;根据抽象语法树,生成控制流图和符号表,并根据控制流图和符号表,进行变量取值区间集的计算与更新;对被测程序进行函数调用关系分析,生成函数调用关系图;根据函数调用关系图以函数为单位对控制流图进行遍历,并计算控制流图上每个节点缺陷状态机的状态变迁,缺陷状态机进入缺陷状态时报告对应的检查点。本发明还公开了一种基于软件缺陷模式的测试系统,包括:输入模块,缺陷模式统一测试框架,和用户界面模块,完成对被测程序的统一测试。 : 【专利类型】发明授权 【申请人】北京邮电大学 【申请人类型】学校 【申请人地址】100876 北京市海淀区西土城路10号 【申请人地区】中国 【申请人城市】北京市 【申请人区县】海淀区 【申请号】CN200810114261.0 【申请日】2008-06-02 【申请年份】2008 【公开公告号】CN101286132B 【公开公告日】2010-09-08 【公开公告年份】2010 【授权公告号】CN101286132B 【授权公告日】2010-09-08 【授权公告年份】2010.0 【IPC分类号】G06F11/36 【发明人】宫云战; 陈俊亮; 杨朝红; 肖庆; 王雅文 【主权项内容】一种基于软件缺陷模式的测试方法,其特征在于,该方法包括:a.读取被测程序源代码文件及缺陷状态机SDSM描述文件,对被测程序进行预处理,解析缺陷状态机SDSM描述文件;所述缺陷状态机SDSM具体为对应于缺陷模式的状态机,每种缺陷模式对应一类缺陷状态机,而状态机是指一个行为,用于指定一个对象在其整个生命周期中对事件作出响应而先后经历的各种状态,同时表明响应和动作;b.对被测程序进行词法分析和语法分析,构造出被测程序的抽象语法树;c.根据抽象语法树,生成控制流图和符号表,并根据控制流图和符号表,进行变量取值区间集的计算与更新;d.根据符号表,对被测程序进行函数调用关系分析,生成函数调用关系图;e.根据函数调用关系图以函数为单位对控制流图进行遍历,并计算控制流图上每个节点缺陷状态机的状态变迁,缺陷状态机进入缺陷状态时报告对应的检查点。 【当前权利人】北京邮电大学 【当前专利权人地址】北京市海淀区西土城路10号 【专利权人类型】公立 【统一社会信用代码】12100000400009952C 【被引证次数】4 【被自引次数】2.0 【被他引次数】2.0 【家族被引证次数】99