[发明专利]一种基于矛盾片段模式的路径生成方法有效

专利信息
申请号: 201310693444.3 申请日: 2013-12-17
公开(公告)号: CN104035864B 公开(公告)日: 2017-10-20
发明(设计)人: 黄俊飞;宫云战;李峰;王雅文;金大海 申请(专利权)人: 北京邮电大学
主分类号: G06F11/36 分类号: G06F11/36
代理公司: 北京汇泽知识产权代理有限公司11228 代理人: 刘淑敏
地址: 100876 *** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 基于 矛盾 片段 模式 路径 生成 方法
【说明书】:

技术领域

发明涉及软件测试技术,尤其涉及一种基于矛盾片段模式的路径生成方法。

背景技术

为了对软件测试的完备性进行衡量,业界提出了多种测试覆盖准则。无论使用哪一种覆盖准则,都是使用控制流图生成路径以达到覆盖要求。事实证明,依据控制流图生成的路径有很多是不可达路径。

导致出现大量不可达路径的原因,主要有:1)不可达路径必然是由于某个谓词节点的某个分支(不可达路径经过的分支)无法执行;2)谓词节点的当前分支无法执行必然是路径之前的某个节点影响了当前谓词节点的判定,即路径上的任何一个谓词都必然和路径之前的某个节点有关联。

目前,路径总是从控制流图生成,而控制流图无法反映谓词和其关联节点之间的联系。所以,只要存在谓词关联,通过控制流图生成的路径就必然存在不可达路径。

纵观软件发展的趋势,其复杂性越来越高,谓词关系也越来越复杂,所以必然导致大量不可达路径。但是,不可达路径与缺陷不同,缺陷是可以修复的。不可达路径中有小部分是经过不可达点(死码)的路径,应该修正,大部分是程序逻辑的必然产物,无法修正。

综上,从谓词关联角度入手是检测不可达路径最直接的方法。从问题空间的角度看,主要分为两类:1)全空间检测:针对所有谓词,完备但效率较低。2)启发式检测:针对满足特定模式的谓词,效率高但有遗漏。由于谓词数量众多,关系复杂,“如何以简单的逻辑,选择较少的关联谓词,却判定较多的不可达路径是提高效率的关键”。启发式检测通过模式识别,只选择较少的关联谓词;又由于模式本身是经验积累而来,从而能判定较多的不可达路径。总之,启发式检测性价比高。

发明内容

有鉴于此,本发明的主要目的在于提供一种基于矛盾片段模式的路径生成方法,以提高不可达路径的判定效率。

为达到上述目的,本发明的技术方案是这样实现的:

一种基于矛盾片段模式的路径生成方法,包括如下步骤:

A、从控制流图中选择本次路径生成的起点作为当前点,然后执行步骤B;

B、选择后继点,然后执行步骤C;

C、如果成功选到后继点,则执行步骤G;否则执行步骤D;

D、查看是否还有前一个点,有则执行步骤E;否则执行步骤F;

E、将前一个点设为当前点,然后执行步骤B;

F、由于已经回退到起点,所以生成路径失败;

G、查看后继点是否是路径的终点,是则成功生成路径;否则执行步骤H;

H、将后一个点设置为当前点,然后执行步骤B。

其中:所述步骤B中,还需要访问当前点的后继点。

还包括:依据不同的覆盖准则,当前点的后继点可能是控制流图中的后继点,也可能是前驱接点;在语句覆盖准则中,以控制流图中间某个点为目标点,需要以控制流图起点为终点找到半条路径;再以控制流图终点为终点找到另半条路径;最终拼成一整条路径;当找前半条路径时,选后继点就是找控制流图中前驱点;当找后半条路径时,选后继点就是找控制流图中后继点。

所述步骤D中,当出现没有前一个点的情况时,表明本次路径生成的起点根本无法到达终点,即本次路径生成的起点为一个不可达点。

一种将矛盾片段用于路径生成的方法,主要包括如下步骤:

A、判定当前节点是否还有未选择过的后继点;如果有,则执行步骤B;否则执行步骤D;

B、选择当前节点的其中一个还未选择过的后继点;

C、得到路径起点到当前选择的后继点构成的路径片段,用矛盾片段模式判定路径片段是否不可达;如果判定为不可达,则执行步骤A;否则,判定选择后继点成功;

D、由于当前节点所有后继点都无法构成可达路径,表明路径起点到当前节点构成的路径片段是不可达路径片段;当前路径必须回退一个点,以当前点的前一个点为当前点,继续选择后继点。

其中,步骤A进一步包括:当某个后继点P已经被选择过,表明路径起点到P构成的路径片段被矛盾片段模式判定为不可达,此时需要重新选择一个后继点。

步骤B包括:需记录当前后继节点已经被选择过;当路径回退以后,重新选择当前点的后继点时,需要清空之前设置的后继点访问标志。

步骤C包括:先得到路径起点到当前节点所构成的路径片段,然后用矛盾片段模式对该路径片段进行不可达判定;如果判定为不可达,则需要选择另一个后继点;否则,表明成功的选出了当前节点的后继点。

一种利用基于矛盾片段模式的路径生成方法判定不可达路径的方法,包括:

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

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

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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