[发明专利]一种冗余变异体识别方法有效

专利信息
申请号: 201710329693.2 申请日: 2017-05-11
公开(公告)号: CN107247663B 公开(公告)日: 2020-05-08
发明(设计)人: 孙昌爱;郭新玲 申请(专利权)人: 北京科技大学
主分类号: G06F11/36 分类号: G06F11/36
代理公司: 北京市广友专利事务所有限责任公司 11237 代理人: 张仲波
地址: 100083*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 冗余 异体 识别 方法
【权利要求书】:

1.一种冗余变异体识别方法,其特征在于,包括:

对待测程序源代码进行程序块的划分,根据程序块划分结果生成规则文件;

比较变异体与待测程序源代码,获取每个变异体的变异位置及变异内容,并根据每个变异体的变异位置和生成的规则文件,确定每个变异体所属的块类别;

对待测程序源代码进行数据流分析,获取待测程序的数据流信息,结合获取的待测程序的数据流信息,对获取的每个变异体的变异内容上的变量进行分析,确定变异体的变异类型;其中,所述数据流信息包括:每个变量的定义-使用链;

根据确定的变异体所属的块类别和变异体的变异类型,按照预先定义的冗余变异体识别规则,分析待测程序的每条定义-使用链,获取满足冗余变异体识别规则的变异体并标记为冗余变异体;

其中,给定待测程序源代码p,变异体m1、m2,测试用例集ts,若对∈ts,都有则变异体m2是相对变异体m1的冗余变异体,记作其中,t表示测试用例;m1(t)、p(t)、m2(t)分别表示测试用例t在变异体m1、待测程序源代码p、变异体m2上的执行结果;

其中,所述冗余变异体识别规则包括:

若对变量v的一个定义-使用链du(v,s1,s2),当变异算子在变量定义s1处生成变异体集合Mdef,变异算子作用在变量使用s2处生成变异体集合Muse,且s1和s2处于同一个基本块时,Muse是Mdef的冗余变异体;

其中,所述冗余变异体识别规则包括:

若对变量v的一个定义-使用链du(v,s1,s2),当变异算子在变量定义s1处生成变异体集合Mdef,变异算子作用在变量使用s2处生成变异体集合Muse,且s2所处的基本块是s1所处基本块的任意个上层块的某个顺接块时,Muse是Mdef的冗余变异体;

其中,所述冗余变异体识别规则包括:

若待测程序中存在含有变量v的函数调用,Sm→n为函数m调用函数n的调用语句,变量v在函数n的变量使用s2处使用,且在使用前没有对v的变量定义,则对变量v的一个定义-使用链du(v,Sm→n,s2),当变异算子作用在函数调用语句Sm→n上生成变异体集合Mm→n,变异算子作用在变量使用s2上生成变异体集合Muse,且变量使用s2所处的基本块没有上层块时,Muse是Mm→n的冗余变异体;

其中,所述冗余变异体识别规则包括:

若Sprintf表示待测程序中没有变量的输出语句,变异算子作用在谓词表达式φ上生成变异体集合Mφ,变异算子作用在Sprintf上生成变异体集合Mprintf,则当谓词表达式φ所处的选择块或循环块是Sprintf所处的基本块的上层块时,Mprintf是Mφ的冗余变异体。

2.根据权利要求1所述的冗余变异体识别方法,其特征在于,所述对待测程序源代码进行程序块的划分,根据程序块划分结果生成规则文件包括:

根据预先确定的基本块、选择块和循环块的定义,对待测程序源代码进行程序块的划分,根据程序块划分结果生成规则文件。

3.根据权利要求1或2所述的冗余变异体识别方法,其特征在于,一个待测程序对应一个规则文件,一个规则文件包含多条分块规则;

每条分块规则描述了相应程序块在待测程序源代码中的入口行数与出口行数。

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

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

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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