1 / 8
文档名称:

软件设计模式.docx

格式:docx   大小:283KB   页数:8页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

软件设计模式.docx

上传人:涛涛江水 2022/8/24 文件大小:283 KB

下载得到文件列表

软件设计模式.docx

相关文档

文档介绍

文档介绍:集团标准化工作小组 #Q8QGGQT-GX8G08Q8-GNQGJ8-MHHGN#
软件设计模式
基于缺陷模式的测试技术
摘要
本文介绍了当前发展快速的测试技术,基于缺陷模式的测试技术。介绍了该模静态分析技术试图模拟动态执行过程中所有的状态信息,这容易导致状态空间爆炸问题。在实际的分析过程中,静态分析技术往往对分析对象规模有一定的限制,如在一个函数内、一个类内、一个文件内等,或者通过求得动态执行状态信息的近似解来降低计算机复杂性,即牺牲分析精度来降低计算复杂性。计算复杂性、误报率和漏报率在实际分析过程中需要取得一个平衡。通常,商用静态分析工具对于10万行代码的分析一般需要半个小时。
3 缺陷测试系统
缺陷测试系统的结构
缺陷测试系统(defect testing system,DTS)的体系结构主要由输入模块和缺陷模型统一测试框架组成。其中,输入模块包括待测源码、软件缺陷状态机描述文件以及系统配置文件。基本处理部分包括抽象语法生成器、控制流图生成器、符号表生成器、使用定义链、定义使用链和函数调用图生成器。提高精度部分包括区间运算模块、函数间分析和敏感路径分析模块。自动测试部分包括缺陷模式检测状态机和缺陷模式匹配算法。结构分析部分包括人工确认模块。DTS缺陷检测过程可描述如下。
构造抽象语法树
处理模块读入待测源码,经过预处理、词法分析、语法分析,产生与程序对应的抽象语法树。
生成控制流图
利用抽象语法树构造程序的控制流图,控制流图反映了程序的控制结构。程序的控制流图与语法树是相对应的,控制流图的每一个节点对应语法树上的语句节点,利用控制流图可以访问语法树,同样的,利用语法树的语句节点也可以很方便地访问控制流图的相应节点。
生成符号表
利用抽象语法树生成符号表,符号表被用来记录标识符的类型、作用域以及绑定信息。符号表将标识符与其类型和位置进行映射。在处理类型、变量和函数的声明时,这些标识符应该可以在符号表中得到解释。当发现有标识符被使用时,这些标识符应该都可以在符号表中找到。
区间运算
区间运算对基本区间运算进行了扩展,支持区间集运算以及实数、布尔变量、句柄变量和数组变量多种数据类型的区间运算,可以对声明语句、赋值语句和条件语句进行区间运算,在控制流图遍历时,通过区间运算可以大概计算出程序变量的取值范围,该信息用于缺陷模型的测试和不可达路径的消除。
函数摘要生成
利用函数摘要代替函数调用,首先由函数内部的分析结构得到一个函数摘要;当分析到该函数的调用时,就将该函数摘要作为函数调用的替代进行使用。函数摘要的灵活性在于可以非常精确,也可以非常不精确。函数摘要可以看做是以函数为单位,对函数实际语义的抽象。
敏感路径分析
通过敏感路径分析避免全路径分析的路径组合爆炸问题,同时获取缺陷检测相关的路径上下文信息,利用该信息可以去除不可达的路径信息,消除误报和漏报。
自动测试
缺陷模型统一测试框架读入软件缺陷状态机描述文件,通过解析器生成缺陷状态机内部数据结构。缺陷模型分析引擎对控制流图进行遍历,在遍历过程中计算控制流图缺陷状态机的状态变迁,若状态机进入缺陷状态则报告缺陷。
IP确认
对于每个IP通常需要人工去判定该IP是否是真的缺陷,考虑程序的逻辑复杂性和测试代价等因素,IP经确