[发明专利]基于重要语句的分支覆盖测试数据生成方法有效

专利信息
申请号: 201610257126.6 申请日: 2016-04-22
公开(公告)号: CN105930272B 公开(公告)日: 2018-10-02
发明(设计)人: 巩敦卫;秦备;田甜;姚香娟;王金鑫;杨苏;王子鸣 申请(专利权)人: 中国矿业大学
主分类号: G06F11/36 分类号: G06F11/36
代理公司: 暂无信息 代理人: 暂无信息
地址: 221116 江苏省*** 国省代码: 江苏;32
权利要求书: 查看更多 说明书: 查看更多
摘要: 发明公布了一种基于重要语句的分支覆盖测试数据生成方法,旨在可以高效地生成覆盖目标分支的测试数据。具体步骤如下:(1)利用弱变异测试转化方法对原程序进行转化;(2)根据语句重要度指标体系对原程序语句进行排序;(3)基于以重要度排序后的原程序语句序列,确定相应的变异分支优先级;(4)建立以分支覆盖为准则的测试数据生成问题的数学模型;(5)设计适应度函数,以优先级最高的变异分支为目标;(6)设置相关遗传操作,采用遗传算法生成覆盖目标分支的测试数据。
搜索关键词: 基于 重要 语句 分支 覆盖 测试数据 生成 方法
【主权项】:
1.基于重要语句的分支覆盖测试数据生成方法,其特征在于如下步骤:步骤1.1:针对弱变异测试转化后的新程序P',根据语句的类型、包含关键变量的个数,以及其所含变量被依赖的变量个数,评价程序语句的重要度,并对程序原语句进行降序排序;按照上述排序,设计变异分支的覆盖顺序,重要度最高的原语句对应的变异分支拥有最高的覆盖优先级;步骤1.2:针对转化后的新程序P',可以记这些转化后的变异分支真分支为集合B={b1,b2,…,bi,…,bm},其中1≤i≤m; 记执行测试数据t,被覆盖的变异分支集合为f(t);因而,测试数据覆盖变异分支问题,可以表示为:在P'的输入域D中,搜索能够覆盖B中的全部变异真分支的测试数据集T={t1,t2,…,ti,…tn},其中ti,i=1,2,…,n,是P'的一个测试输入,n是包含的元素个数;记T中所有的测试数据,覆盖的变异分支集合为F(T),F(T)=f(t1)∪f(t2)∪…∪f(ti)∪…∪f(tn);因此,未被覆盖的变异分支,可以表示为B‑F(T);利用变异算子对原程序语句生成变异分支,将变异语句与原语句组合,并插桩到原语句之前;因而,求解目标变成覆盖所有的变异真分支;如此一来,转化后的问题,可以表示为如下最小化问题:min{B‑F(T)}s.t.T∈D1×D2×…Di×…×Dn式中,s.t.T表示T的约束条件,D表示P'的输入域,n为包含的测试数据个数;因而,当B中的全部变异分支均被覆盖时,B‑F(T)为空;步骤1.3:针对步骤1.2中给出的数学模型,设计了一种含约束的进化优化的求解方法,适应度函数表示为:fitness(t)=Appr(t)+dist(t)Appr(t)表示层接近度,dist(t)表示分支距离,由于程序规模较大,分支零散的原因,还根据公式Normal(dist)=1‑1.001‑dist,对其进行标准化处理;因此,测试数据的适应度函数最终可以表示为fitness(t)=Appr(t)+Normal(dist(t));步骤1.4:使用遗传算法求解其描述的优化问题,以得到覆盖目标变异分支的测试数据;步骤1.4.1:依据步骤1.1提出的变异分支覆盖优先策略,从B中选择优先级最高的分支b1作为目标分支;步骤1.4.2:初始化种群,在定义域内随机生成测试数据t,执行被测程序,计算并评价个体适应值;若t执行了目标分支或B中的其它分支,则保留t,并删除相关分支;步骤1.4.3:实施遗传操作,得到新的测试数据,并依据变异分支的覆盖顺序,选择B中优先级最高的分支作为新的目标分支;往复执行该过程,直到B为空集,或达到算法终止条件,求解过程结束。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

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

本文链接:http://www.vipzhuanli.com/patent/201610257126.6/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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