【技术实现步骤摘要】
测试代码生成方法、装置、存储介质及电子设备
[0001]本公开涉及人工智能
,具体而言,涉及一种测试代码生成方法、测试代码生成装置、计算机可读存储介质以及电子设备。
技术介绍
[0002]在计算机技术的漏洞挖掘领域中,模糊测试是一种常用的技术手段。模糊测试通常使用大量的测试数据作为应用程序的输入,测试应用程序是否出现处理错误,进而发现应用程序中存在的安全漏洞。
[0003]例如,对于编译器、解释器等应用程序的模糊测试,使用的测试数据为相应语言的测试代码。其中,较优的测试代码需要遵从相应的语法特征和语义行为。目前,该测试代码的生成效率较低。
[0004]需要说明的是,在上述
技术介绍
部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
技术实现思路
[0005]本公开提供一种测试代码生成方法、测试代码生成装置、计算机可读存储介质以及电子设备,进而至少在一定程度上克服相关技术中测试代码的生成效率较低的问题。
[0006]根据本公开的 ...
【技术保护点】
【技术特征摘要】
1.一种测试代码生成方法,其特征在于,包括:对原始测试代码进行解析,生成第一抽象语法树;按照预设遍历顺序获取所述第一抽象语法树中的多个单元子树;向量化所述多个单元子树,生成单元子树序列;选取第一单元子树,并将与所述第一单元子树对应的目标单元子树序列输入预设神经网络中,生成第一目标子树;利用所述第一目标子树更新所述第一抽象语法树,得到第二抽象语法树;根据所述第二抽象语法树生成目标测试代码。2.根据权利要求1所述的测试代码生成方法,其特征在于,所述按照预设遍历顺序获取所述第一抽象语法树中的多个单元子树,包括:按照所述预设遍历顺序访问所述第一抽象语法树中的各个节点;获取各所述节点对应的单元子树。3.根据权利要求1所述的测试代码生成方法,其特征在于,所述向量化所述多个单元子树,生成单元子树序列,包括:提取各所述单元子树的三元组信息;根据所述三元组信息向量化各所述单元子树,得到各所述单元子树的向量表示;根据各所述单元子树的向量表示得到所述单元子树序列。4.根据权利要求1所述的测试代码生成方法,其特征在于,所述多个单元子树的根节点的排列顺序与所述预设遍历顺序一致;所述选取第一单元子树,并将与所述第一单元子树对应的目标单元子树序列输入预设神经网络中,生成第一目标子树,包括:随机选取所述第一单元子树;根据所述预设遍历顺序确定排列顺序位于所述第一单元子树的根节点之前的第一目标根节点;获取所述第一目标根节点对应的所述目标单元子树序列,并将所述目标单元子树序列输入所述预设神经网络中,以得到所述第一目标子树。5.根据权利要求4所述的测试代码生成方法,其特征在于,所述目标单元子树序列包括第一目标单元子树序列和第二目标单元子树序列;获取所述第一目标根节点对应的所述目标单元子树序列,并将所述目标单元子树序列输入所述预设神经网络中,以得到所述第一目标子树,包括:获取所述第一目标根节点对应的所述第一目标单元子树序列;将所述第一目标单元子树序列输入所述预设神经网络中,得到第一目标单元子树;确定以所述第一目标单元子树的叶节点为根节点的第二单元子树,并根据所述预设遍历顺序确定排列顺序位于所述第二单元子树的根节点之前的第二目标根节点;获取所述第二目标根节点对应的所述第二目标单元...
【专利技术属性】
技术研发人员:沈雷,
申请(专利权)人:中国电信股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。