[发明专利]一种受上下文无关文法约束的测试用例生成方法有效

专利信息
申请号: 201110062021.2 申请日: 2011-03-15
公开(公告)号: CN102141959A 公开(公告)日: 2011-08-03
发明(设计)人: 张玉清;杨丁宁;刘奇旭 申请(专利权)人: 中国科学院研究生院
主分类号: G06F11/36 分类号: G06F11/36
代理公司: 北京君尚知识产权代理事务所(普通合伙) 11200 代理人: 余长江
地址: 100049 北*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 上下文 无关 文法 约束 测试 生成 方法
【权利要求书】:

1.一种受上下文无关文法约束的测试用例生成方法,其步骤为:

1)建立一包括若干合法测试用例的初始集合I;所述合法测试用例为符合目标程序的上下文无关文法约束、能被程序正确地接受和处理的测试用例;

2)对于I中的每一合法测试用例,利用上下文无关文法分析其语法结构,得到一解析树T;

3)遍历解析树T中每一内结点n,对于n所对应的上下文无关文法非终结符N,将N在测试用例中所生成的子串s加入到该非终结符N对应的字符串集合FragN中;

4)对所述初始集合I中每一合法测试用例,重复步骤2)、3),得到每一非终结符在所有合法测试用例中所能生成的字符串集合;

5)将I中的合法测试用例作为初始种子测试用例加入到一队列Q中,并为Q设定一个测试用例入队条件P;

6)从队列Q的队头依次取出一个初始种子测试用例c,利用上下文无关文法分析其语法结构,得到一个解析树Tc

7)遍历解析树Tc中每一内结点nc,对于nc所对应的上下文无关文法非终结符Nc,查找非终结符Nc所生成的初始种子测试用例c中的子串sc

8)利用4)所得的与该非终结符Nc名称相同的集合FragN中每个字符串分别替代初始种子测试用例c的子串sc,每次得到一个新的测试用例c’,如果c’已经在集合GEN中出现,则将c’丢弃;否则将c’加入到集合GEN中,并且如果c’满足Q中入队条件P,则同时将c’加入队列Q的队尾;

9)重复步骤6)~8),直到队列Q中的种子测试用例全部被依次取出,此时将集合GEN中的全部元素作为测试用例输出。

2.如权利要求1所述的方法,其特征在于所述初始集合I中的测试用例覆盖上下文无关文法所有语法结构。

3.如权利要求2所述的方法,其特征在采用深度优先的方法遍历解析树。

4.如权利要求2所述的方法,其特征在采用广度优先的方法遍历解析树。

5.如权利要求3或4所述的方法,其特征在于遍历解析树中同一父结点下的子结点时,位于左侧的子结点先于右侧的子结点遍历。

6.如权利要求1或2所述的方法,其特征在于所述初始种子测试用例为所述初始集合I中的合法测试用例。

7.如权利要求1或2所述的方法,其特征在于所述入队条件P为测试用例长度小于一设定阈值。

8.如权利要求1或2所述的方法,其特征在于所述合法测试用例为Fuzzing测试用例。

9.如权利要求1或2所述的方法,其特征在于所述目标程序为以受上下文无关文法约束的数据为输入的软件或系统。

10.如权利要求9所述的方法,其特征在于所述软件包括但不限于:网络浏览器软件、数据库服务器系统软件。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院研究生院,未经中国科学院研究生院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201110062021.2/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top