当前位置:主页 > 科技论文 > 软件论文 >

软件完整路径生成技术研究

发布时间:2021-01-06 00:58
  路径测试是一种覆盖程度较高的白盒测试方法,测试软件的完整路径可以有效提高软件可靠性,而路径生成是路径测试的前提。随着软件规模和复杂性的日益增加,程序中分支、循环以及函数调用的嵌套使用,使得路径的长度和数量激增。目前已有的测试方法难以自动生成软件的完整路径,实现对路径的详细测试。针对上述问题,本文提出了一种完整路径自动生成模型。围绕该模型本文做了以下研究:(1)针对分支和循环引起的路径爆炸问题,提出了一种动静结合的基本路径集生成方法。首先基于深度优先搜索策略,结合回溯法、关键路径法等静态选路方法和动态执行方法生成函数内路径,随后判定路径可达性和线性无关性,以此来生成可达的基本路径集。(2)针对函数调用引起的路径爆炸问题,提出了一种启发式过程间路径生成方法。首先将函数调用分为无影响调用、局部影响调用、后置影响调用和局部-后置影响调用四类,随后对不同分类采用随机选择策略和区间匹配策略,最后根据目标函数启发式引导过程间路径生成。上述方法在功能测试系统(Function Test System,FTS)上进行了实现,并选取了 3个开源C语言工程进行验证。实验结果表明,本文提出的完整路径自动生成模... 

【文章来源】:北京邮电大学北京市 211工程院校 教育部直属院校

【文章页数】:68 页

【学位级别】:硕士

【部分图文】:

软件完整路径生成技术研究


图3-4三种函数调用??

关系图,函数调用,代码,关系图


数节点B之间的边;iVentry是CG的根节点,也即被测工程的入口节点,在C语??言工程中通常为main函数。??代码3-3的函数调用关系图如图3-5所示。??fund???>jr???fiinc2??func3?func4???????图3-5代码3-3对应的函数调用关系图??定义3-8函数调用路径:函数调用路径(Function?Call?Path,?FCP)是函数节??点的序列,形如:FCP?=?/】->?/2-?>-?。相邻两个函数/?和力之间当函数,??调用了函数石,或者函数调用路径中函数f;?前面的某函数调用了/再顺序调用石,??都有函数调用路径中的边乂+-?>?/}。??在完整路径自动生成模型中,根据函数调用路径生成过程间路径,直至生成??21??

实现函数,系统架构,静态分析,代码


4.1系统架构??本文在上一章节提出的完整路径自动生成模型(WPPAGM)的系统架构图??如图4-1所示,该框架可以自动对软件源代码进行静态分析以提取软件的基本信??息,包括软件的函数调用关系图以及各个函数单元的控制流图,同时分析软件的??功能需求说明书以提取其中所定义的软件功能,然后自动生成软件路径,以及测??试用例自动生成等功能。??y?p??????软件湃代码一■?函_莫?函数内基本?J函数内路径??软件功能软件功能获?、完整路径生成―可_^4^定??需求说明书?取????^???m??J?????O?〇???^?I??故障检测??功能测试?]测试用例?+?测试用例自动生成??尖马sit■主研允?benchmark??图4-1系统架构??如图4-1所示,对软件源代码进行静态分析实现函数建模之后,基于函数建??模得到的信息生成每个函数的基本路径,并根据函数内路径可达性判定技术进行??可达性判定,然后生成完整路径,并利用函数间路径可达性判定技术进行过程间??路径可达性判定。然后实现完整路径的测试用例自动生成。针对一条被判定为可??达的完整路径,从路径中提取的约束集的规模通常较大。首先基于一阶逻辑的理??论,检测并剔除约束集中的冗余约束,对路径约束集进行约减,以达到减小约束??27??


本文编号:2959617

资料下载
论文发表

本文链接:https://www.wllwen.com/kejilunwen/ruanjiangongchenglunwen/2959617.html


Copyright(c)文论论文网All Rights Reserved | 网站地图 |

版权申明:资料由用户89c27***提供,本站仅收录摘要或目录,作者需要删除请E-mail邮箱bigeng88@qq.com