[发明专利]基于基路径的测试程序控制流路径集生成方法无效
申请号: | 200810045139.2 | 申请日: | 2008-01-09 |
公开(公告)号: | CN101216803A | 公开(公告)日: | 2008-07-09 |
发明(设计)人: | 李志蜀;金虎;王莉;孙继荣;陈宇;郑燕妮;李宝林 | 申请(专利权)人: | 四川大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 成都信博专利代理有限责任公司 | 代理人: | 潘育敏 |
地址: | 610064四*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明属程序测试中的路径测试。通过引入数学上“基”的概念来定义程序控制流基路径的概念,首先使用编译器模块获得表示源程序片程序结构的数据结构,然后通过遍历该数据结构,使用控制流路径生成算法生成基于基路径的程序控制流路径子集编译器模块对被测试源程序进行语义解释,输出表示被测程序控制流结构信息的抽象语法树结构。控制流图邻接矩阵生成模块遍历抽象语法树结构,生成程序流图的邻接矩阵表示。控制流路径子集生成模块通过遍历邻接矩阵获得被测程序控制流信息,采用深度优先多次回溯的方式遍历邻接矩阵并对语句节点进行处理,生成基于基路径的程序控制流路径子集。本方法在生成结果和流程上有突出优势,可广泛用于软件结构性测试的路径覆盖测试工程实践中。 | ||
搜索关键词: | 基于 路径 测试 程序控制 生成 方法 | ||
【主权项】:
1.一种基于基路径的测试程序控制流路径子集生成方法,其特征在于:在编译器模块、控制流图邻接矩阵生成模块和控制流路径子集生成模块三模块中完成测试程序控制流路径子集的生成:首先将被测试源程序片的控制流路径定义为具有长度(模)和方向属性的向量,则特定程序片断的控制流路径集合以及其上可以施加的向量操作便组成了一个向量空间,其存在必定存在一个基路径集合,使用编译器模块获得包含源程序片程序结构信息的数据结构,然后通过遍历该数据结构使用控制流路径生成算法生成基于基路径的程序控制流路径子集,其具体的方法是:使用编译器模块对被测试源程序进行处理,用以对被测试源程序进行语义解释,将被测试源程序与控制流路径生成的测试计算引擎联系起来,形成合理的足以表示被测程序控制流信息的数据结构——抽象语法树(AST),编译器模块输出此结构供控制流图邻接矩阵生成模块处理;处理流程进入程序控制流图邻接矩阵生成模块,该模块遍历抽象语法树结构,按照语句是否具有条件跳转语义或无条件跳转语义分别调用条件跳转语句处理函数和无条件跳转处理函数进行处理并生成程序流图的邻接矩阵表示供控制流路径子集生成模块进行后续操作;控制流路径子集生成模块通过遍历邻接矩阵获得被测程序控制流信息,采用深度优先多次回溯的方式遍历邻接矩阵,跟踪并记录程序控制流的执行到的语句节点,并对该信息进行处理,生成基于基路径的程序控制流路径子集。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于四川大学,未经四川大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/200810045139.2/,转载请声明来源钻瓜专利网。