【技术实现步骤摘要】
本专利技术涉及一种改进的基于符号执行的软件静态测试方法及工具,属于软件的静态测试
技术介绍
软件测试技术通常分为静态测试和动态测试。动态测试就是执行程序,再观察其行为是否满足要求。既可由用户直接观察,也可以使用一定的辅助工具。静态测试是不执行程序代码而寻找程序代码中可能存在的缺陷或评估程序代码的过程,程序静态测试的目标不是证明程序完全正确,而是作为动态测试的补充,在程序运行前尽可能多的发现其中隐含的错误,提高程序的可靠性和健壮性,静态测试在更高的抽象层次上对程序的某些属性进行考察,而不是对程序的某一个特定输入的考察。现在国内对于静态测试中的符号执行方法方面的研究并不是很充分,国内比较著名的是北京航空航天大学软件研究所开发的Mfeftx) C/C++, SafePro C/C++提供多选窗口单驱动的用户工作环境,支持若干种测试信息的快速关联分析,提供了图文并茂的软件测试结果报告,同时支持静态和动态测试。在这些已有的软件静态测试理论和测试工具中,一般仍然或多或少存在以下不足(1)对符号执行功能模块没有得到充分重视和实现;(2)对隐含的代码错误测试效果不好, ...
【技术保护点】
1.一种改进的基于符号执行的软件静态测试方法及工具,已经开发包含该方法的面向宿主的软件自动化测试工具,其特征在于包括如下步骤:1、第一阶段分析。其中包括:1.1)将被测代码输入测试工具中;1.2)根据C语言文法自定义一个关键词列表,并对照关键词列表对被测试代码进行词法分析;1.3)根据C语言文法自定义函数结构模块、构造抽象语法树的生成算法,并对照词法分析的结果,利用“自下而上”的方法(即从从语法树的末端开始,步步向上“归约”),对被测代码进行语法分析,最终得到程序静态分析树(PAT)作为一个中间表示形式,并且利用文档进行存储,且利用树型控件进行显示;2、第二阶段分析。其中包 ...
【技术特征摘要】
1. 一种改进的基于符号执行的软件静态测试方法及工具,已经开发包含该方法的面向宿主的软件自动化测试工具,其特征在于包括如下步骤1、第一阶段分析。其中包括1.1)将被测代码输入测试工具中;1. 2)根据C语言文法自定义一个关键词列表,并对照关键词列表对被测试代码进行词法分析;1.3)根据C语言文法自定义函数结构模块、构造抽象语法树的生成算法,并对照词法分析的结果,利用“自下而上”的方法(即从从语法树的末端开始,步步向上“归约”),对被测代码进行语法分析,最终得到程序静态分析树(PAT)作为一个中间表示形式,并且利用文档进行存储,且利用树型控件进行显示;2、第二阶段分析。其中包括2. 1)...
【专利技术属性】
技术研发人员:刘久富,娄坚波,李金奎,王伟,苏青琴,陈魁,
申请(专利权)人:南京航空航天大学,
类型:发明
国别省市:84
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。