[发明专利]一种基于给定缺陷描述信息进行软件测试的方法及系统无效
| 申请号: | 201210254392.5 | 申请日: | 2012-07-20 |
| 公开(公告)号: | CN102819490A | 公开(公告)日: | 2012-12-12 |
| 发明(设计)人: | 黄俊飞;宫云战;王前;金大海;王雅文;赵云山;周虹伯 | 申请(专利权)人: | 北京邮电大学 |
| 主分类号: | G06F11/36 | 分类号: | G06F11/36 |
| 代理公司: | 北京派特恩知识产权代理事务所(普通合伙) 11270 | 代理人: | 张颖玲;程立民 |
| 地址: | 100876 *** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 给定 缺陷 描述 信息 进行 软件 测试 方法 系统 | ||
技术领域
本发明涉及软件静态测试技术,尤其涉及一种基于给定缺陷描述信息进行软件测试的方法及系统。
背景技术
静态代码缺陷分析技术通过对代码进行静态分析来推测程序运行时的表现行为,从而发现代码中可能存在的缺陷。
目前,通常采用基于缺陷模式的代码检查方法对代码进行缺陷检测,基于缺陷模式的代码检查方法主要包括如下步骤:将受检代码与缺陷查找工具中设置的多个缺陷模式依次进行匹配,如果受检代码与某一缺陷模式匹配,则确定受检代码包含与该缺陷模式对应的缺陷;根据确定的缺陷生成缺陷检测报告,将所述缺陷报告呈现给用户。所述缺陷模式是缺陷查找工具设计人员对代码中经常出现的缺陷进行总结、提炼而设计出来的,每个缺陷模式对应不同的缺陷。
现有的缺陷查找工具,如FindBugs、PMD和Hammurapi等,通常具有固定数目的缺陷模式,是不能根据用户的需要增加缺陷模式的,也就是说只能对已设置的缺陷模式对应的缺陷进行检测。
但是,实践中用户往往希望能够对自己所关注的缺陷进行检测。
发明内容
有鉴于此,本发明的主要目的在于提供一种基于给定缺陷描述信息进行软件测试的方法及系统,能够对用户所关注的缺陷进行检测。
为达到上述目的,本发明的技术方案是这样实现的:
本发明提供了一种基于给定缺陷描述信息进行软件测试的方法,所述方法包括:
接收用户发来的待测代码和缺陷描述信息;
对收到的待测代码进行静态分析,得到符号表、控制流图、函数调用关系、定义-使用链;
根据缺陷描述信息在符号表、控制流图、函数调用关系、定义-使用链中进行缺陷查找,找到待测代码中缺陷描述信息所描述的缺陷。
优选的,所述缺陷描述信息为静态缺陷描述语言(SDDL)表达式,所述SDDL表达式用于描述用户关注的语法缺陷,
相应的,根据缺陷描述信息在符号表、控制流图、函数调用关系、定义-使用链中进行缺陷查找,找到待测代码中缺陷描述信息所描述的缺陷,为,
在符号表、控制流图、函数调用关系、定义-使用链中,查找SDDL表达式描述的用户关注的语法缺陷,找到待测代码中的所述语法缺陷。
优选的,所述对收到的待测代码进行静态分析之前,所述方法还包括:
对收到的SDDL表达式进行合法性判断。
优选的,所述对收到的SDDL表达式进行合法性判断,为,
判断所述SDDL表达式中是否包含尚未定义的谓词表达式,当不包含尚未定义的谓词表达式时,
判断所述SDDL表达式中各个项的类型是否都正确,当各个项的类型均正确时,判定为合法,执行对收到的待测代码进行静态分析的操作。
优选的,所述对收到的待测代码进行静态分析,得到符号表、控制流图、函数调用关系、定义-使用链,为,
对收到的待测代码进行词法分析和语法分析,构造出待测代码的抽象语法树;
根据抽象语法树,生成符号表和控制流图;
根据生成的符号表,对待测代码进行函数调用关系分析,生成函数调用关系;
根据控制流图和符号表,生成定义-使用链。
本发明提供了一种基于给定缺陷描述信息进行软件测试的系统,所述系统包括:信息接收单元、静态分析单元和缺陷查找单元,其中,
所述信息接收单元,用于接收用户发来的待测代码和缺陷描述信息;
所述静态分析单元,用于对信息接收单元收到的待测代码进行静态分析,得到符号表、控制流图、函数调用关系、定义-使用链;
所述缺陷查找单元,用于根据信息接收单元收到的缺陷描述信息在静态分析单元得到的符号表、控制流图、函数调用关系、定义-使用链中进行缺陷查找,找到待测代码中缺陷描述信息所描述的缺陷。
优选的,所述缺陷描述信息为SDDL表达式,所述SDDL表达式用于描述用户关注的语法缺陷,
相应的,缺陷查找单元,具体用于在静态分析单元得到的符号表、控制流图、函数调用关系、定义-使用链中,查找信息接收单元收到的SDDL表达式描述的用户关注的语法缺陷,找到待测代码中的所述语法缺陷。
优选的,所述系统还包括:合法性判断单元,用于对信息接收单元收到的SDDL表达式进行合法性判断。
优选的,所述合法性判断单元,具体用于判断所述SDDL表达式中是否包含尚未定义的谓词表达式,当不包含尚未定义的谓词表达式时,
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京邮电大学,未经北京邮电大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210254392.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种惯导部件用精确定位托架
- 下一篇:一种偏心测试的升降机构





