[发明专利]一种用于并行程序通信覆盖的测试数据约减方法在审

专利信息
申请号: 202110265311.0 申请日: 2021-03-11
公开(公告)号: CN112988579A 公开(公告)日: 2021-06-18
发明(设计)人: 田甜;张辰;杨秀婷;王安轼;徐俊丽;孙倩;郭庆 申请(专利权)人: 山东建筑大学
主分类号: G06F11/36 分类号: G06F11/36;G06F9/54;G06N3/12
代理公司: 暂无信息 代理人: 暂无信息
地址: 250101 山东省*** 国省代码: 山东;37
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 用于 并行 程序 通信 覆盖 测试数据 方法
【权利要求书】:

1.一种基于占优关系的并行程序通信覆盖测试数据约减方法,其特征在于,该方法包括:

(1)基于占优关系,构建并行程序通信语句的占优关系图;

(2)将约减集中的通信语句进行组划分;

(3)依据通信语句组的执行顺序,对语句组进行排序;

(4)基于排序后的语句组,构建通信语句队列;

(5)基于通信语句的适应度函数,构建语句队列的适应度函数;

(6)通过遗传算法生成覆盖通信的测试数据。

2.权利要求1所述的基于通信语句的占优关系,构建占优关系图的方法,其特征在于如下步骤:

步骤2.1:根据进程号大小,依次遍历各个进程;

步骤2.2:构建占优关系图,将当前进程的入口顶点s作为占优顶点;

步骤2.3:遍历通信语句,若为空,则返回步骤2.1,否则,执行步骤2.4;

步骤2.4:判断当前通信语句是否被已有占优顶点所占优;若被占优,则将该通信语句作为其占优顶点的被占优顶点,返回步骤2.3;若未被占优,则构建新的占优关系图,并将该通信语句作为占优顶点,返回步骤2.3。

3.权利要求1所述的将约减集中的通信语句进行组划分方法,其特征在于如下步骤:

步骤3.1:遍历各个进程的占优关系图,首先,令num=0;

步骤3.2:读取进程num中占优关系图的占优顶点,设存在占优顶点,其对应的通信语句从属于同一分支结构,语句编号为ni、ni+1和ni+2,则可得语句组N={ nnum-i, nnum-i+1,nnum-i+2};

步骤3.3:令num加1,返回步骤3.2。

4.权利要求1所述的依据通信语句组的执行顺序,对语句组进行排序的方法,其特征在于:通过执行被测程序,以确定各个语句组执行的先后顺序,并按该顺序为通信语句分配权值;该方法能够引导依次生成覆盖语句的测试数据。

5.权利要求1所述的基于排序后的语句组构建通信语句队列方法,,其特征在于如下步骤:

步骤5.1:根据Ns1中的语句个数,创建等量的通信语句队列,将Ns1中的语句分配到各个队列;

步骤5.2:判断下一语句组是否存在,若存在,转到步骤5.3,否则,结束队列划分;

步骤5.3:判断语句组中语句的数量是否多余当前的通信语句队列数,若不多于,则将语句依次划分到当前队列中,否则,创建相应数量的新队列,使得语句组中的语句能够分别划分到其中;转到步骤5.2。

6.权利要求1所述的构建语句队列适应度函数方法,其特征在于:基于步骤4的通信语句队列SQ,构建适应度函数,设语句的适应度权值r,即r=|SQ|-No+1;通信语句队列的适应度函数由各通信语句的适应度函数与权值乘积的和构成;根据通信语句队列SQ,划分通信得到通信队列CQ,通信队列的适应度函数即为通信语句队列的适应度函数。

7.权利要求1所述的基于遗传算法生成覆盖通信的测试数据方法,其特征在于:根据权利6中构建的队列适应度函数生成覆盖通信语句队列的测试数据,进而覆盖通信,达到测试数据约减的目的。

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

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

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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