[发明专利]基于有限状态机网络协议半合法化模糊测试用例生成方法有效
申请号: | 201510420047.8 | 申请日: | 2015-07-16 |
公开(公告)号: | CN105095075B | 公开(公告)日: | 2017-12-08 |
发明(设计)人: | 胡昌振;马锐;纪文东;薛静锋;胡晶晶 | 申请(专利权)人: | 北京理工大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京理工大学专利中心11120 | 代理人: | 高燕燕,仇蕾安 |
地址: | 100081 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 有限状态机 网络 协议 合法化 模糊 测试 生成 方法 | ||
1.基于有限状态机网络协议半合法化模糊测试用例生成方法,其特征在于,包括如下步骤:
步骤一:在基于有限状态机的网络协议中,根据网络协议规约,解析协议交互过程,构建基于有限状态机的网络协议模型:
所述基于有限状态机的网络协议模型为Pfsm=<S0,S,M,F>,其中:
S0表示有限状态机的状态集合的初始状态;
S={s0,s1,s2,...,sn-1},表示整个有限状态机的状态集合,其中s0~sn-1表示n个状态;
M={m0,m1,m2,…,mq-1},表示促使有限状态机发生状态转移的协议消息集合,其中m0~mq-1表示q个协议消息;
F为状态转移函数,表示状态转移路径(si,mj,sk);i∈[0,n-1],j∈[0,m-1],k∈[0,n-1];
步骤二:建立针对有限状态机的完整的测试序列,该测试序列为一个由有限状态机中所有状态转移路径组成的集合;
步骤三:构造协议消息md变异后的畸形协议消息集合{~md1,~md2,~md3,…,~mdp},其中p为md变异后的畸形协议消息数量;其中d为正整数且取遍区间[0,m-1];
其中,在构造协议消息md变异后的畸形协议消息集合时,将协议消息采用四层结构表示,四层从上至下分别为:状态表示层、消息类型表示层、消息表示层、子协议域表示层;其中所述状态表示层用于表示在该协议消息md所促使的状态转移路径中的前后两个状态,所述消息类型表示层用于表示该协议消息md所属的消息类型,包括请求类消息request和应答类消息response,所述消息表示层包括组成协议消息md的所有的数据类型,所述子协议域表示层表示按照协议规约进行划分后得到的组成协议消息的各个子结构;对于协议消息md,有p个约束条件制约着,在生成协议消息md的半合法畸形协议消息时,仅仅改变p个约束条件中的一个、其他约束条件不变,得到一个md变异后的畸形协议消息,由此共获得关于md的p个变异后的畸形协议消息集合{~md1,~md2,~md3,…,~mdp};
步骤四:从md的畸形协议消息集合中顺次选取~md1至~mdp中的一个用于替代所述完整的测试序列中的md,每次获得一个关于md的模糊测试序列,则共获得p个关于md的模糊测试序列;
顺次取d=0,1,……,n-1,获得关于m0~mn-1的所有模糊测试序列;
步骤五:将步骤四中所生成的所有的模糊测试序列作为模糊测试用例。
2.如权利要求1所述的基于有限状态机网络协议半合法化模糊测试用例生成方法,其特征在于,在建立基于有限状态机的网络协议模型时,进一步增加L={l0,l1,l2,…,ln-1}作为状态转移路径的标记变量,与状态转移路径一一对应,表示是否已经进行过该状态转移,初始值设定为false;
则在进行一个关于md的模糊测试序列的生成过程中,判断当前序列中每条状态转移路径对应的标记变量,若为false,则将该条状态转移路径生成至前序列中,并将其标记变量置为true;
若为true,则在当前序列中不再生成该条状态转移路径,并保持其标记变量为true不变。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京理工大学,未经北京理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510420047.8/1.html,转载请声明来源钻瓜专利网。