System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种跨框架API缺陷检测方法、系统及相关装置制造方法及图纸_技高网

一种跨框架API缺陷检测方法、系统及相关装置制造方法及图纸

技术编号:43926897 阅读:1 留言:0更新日期:2025-01-07 21:23
本发明专利技术公开了一种跨框架API缺陷检测方法、系统及相关装置。其中,方法包括获取API缺陷代码,基于所述API缺陷代码确定所述API缺陷代码中的缺陷参数;利用预设相似度算法从每个待测试的深度学习框架下的所有API中,遍历查找与所述API缺陷代码最相似的同类API,获得同类API集;对于所述同类API集中的每个同类API,利用所述每个同类API与所述API缺陷代码的参数匹配关系,以及所述API缺陷代码中的缺陷参数生成所述同类API对应的测试用例;利用所述测试用例对所述同类API进行模糊测试,获得所述同类API的缺陷检测结果。本发明专利技术提供的方案可实现跨框架大规模API缺陷测试。

【技术实现步骤摘要】

本专利技术涉及缺陷检测,尤其涉及一种跨框架api缺陷检测方法、系统及相关装置。


技术介绍

1、深度学习技术已经在各个领域得到广泛应用。其中,深度学习框架扮演着至关重要的角色,为开发者提供了一系列简单而灵活的api,用以构建、训练和部署各种复杂的深度学习模型和应用。然而,随着深度学习技术的普及,安全问题也逐渐显露出来。深度学习框架作为整个深度学习系统的核心,其安全性显得尤为重要。一旦深度学习框架的api存在缺陷,将会影响到使用这些框架训练的深度学习模型,从而影响到应用这些模型的各个领域,造成严重危害。因此,确保构建深度学习模型的深度学习框架api的安全性至关重要。

2、深度学习框架缺陷主要是指深度学习框架中的接口或功能存在缺陷或漏洞,导致安全隐患或功能异常,目前,检测深度学习框架缺陷的方法主要包括两种:基于模型的模糊测试和基于api的模糊测试。基于模型的模糊测试是利用深度神经网络模型作为测试用例进行模糊测试,并对模型输出结果进行差分测试,从而检测深度学习框架的缺陷;基于api的模糊测试则是针对深度学习框架的api,收集或生成测试用例,然后对api的运行结果进行差分测试以检测深度学习框架中的缺陷。

3、但上述两种方法存在以下缺陷:基于模型的模糊测试虽然有助于发现深度学习模型训练和验证中的缺陷,但存在着代码覆盖率不足的问题,而且需要大量不同的深度学习模型。基于api的模糊测试则需要准确的约束信息来生成更高质量的测试用例,然而由于深度学习框架api数量庞大且关系复杂,因此难以有效地测试深度学习框架的api,并且目前的方法未能充分利用不同深度学习框架存在大量功能相似的api,并且这类api之间共享相同错误的特征进行缺陷检测。


技术实现思路

1、为解决上述技术问题,本专利技术实施例提供一种跨框架api缺陷检测方法、系统及相关装置。

2、本专利技术实施例的技术方案是这样实现的:

3、本专利技术实施例提供了一种跨框架api缺陷检测方法,方法包括:获取api缺陷代码,基于所述api缺陷代码确定所述api缺陷代码中的缺陷参数;利用预设相似度算法从每个待测试的深度学习框架下的所有api中,遍历查找与所述api缺陷代码最相似的同类api,获得同类api集;对于所述同类api集中的每个同类api,利用所述每个同类api与所述api缺陷代码的参数匹配关系,以及所述api缺陷代码中的缺陷参数生成所述同类api对应的测试用例;利用所述测试用例对所述同类api进行模糊测试,获得所述同类api的缺陷检测结果。

4、在一实施例中,基于所述api缺陷代码确定所述api缺陷代码中的缺陷参数,包括:动态运行所述api缺陷代码,获取所述api缺陷代码中的参数列表以及对应的参数值;通过api文档约束分析,将所述参数列表划分为必要参数列表和可选参数列表;所述必要参数列表为api被调用时必须传递的参数;所述可选参数列表为所述参数列表中除必要参数之外的其他参数;对所述可选参数列表中的每个可选参数,迭代测试所述每个可选参数是否为导致缺陷产生的参数;对不是导致缺陷产生的可选参数从参数列表中删除,获得缺陷参数列表。

5、在一实施例中,利用预设相似度算法从每个待测试的深度学习框架下的所有api中,遍历查找与所述api缺陷代码最相似的同类api,获得同类api集,包括:对每个待测试的深度学习框架下的每个api,获取对应的api文档信息;所述api文档信息包括api函数签名、api示例代码和api功能描述;对所述api文档信息进行词向量嵌入表示,获得所述api文档信息对应的词向量嵌入;利用预设相似度算法计算所述api的词向量嵌入与所述api缺陷代码所对应的词向量嵌入之间的相似度;根据所述每个api的相似度,从所述每个待测试的深度学习框架下的所有api中查找与所述api缺陷代码最相似的同类api;获取所述待测试的深度学习框架下的同类api,构成同类api集。

6、在一实施例中,预设相似度算法为:

7、

8、其中,为词向量嵌入之间的相似度,为apii的词向量嵌入,为apij的词向量嵌入,为apii的词向量嵌入的模,为apij的词向量嵌入的模。

9、在一实施例中,对于所述同类api集中的每个同类api,利用所述每个同类api与所述api缺陷代码的参数匹配关系,以及所述api缺陷代码中的缺陷参数生成所述同类api对应的测试用例,包括:对于所述同类api集中的每个同类api,利用预设的参数匹配模块对所述api缺陷代码所对应的参数列表和所述每个同类api所对应的参数列表进行自动化参数匹配,确定所述api缺陷代码和所述每个同类api的参数配对关系;根据所述参数配对关系,利用所述api缺陷代码所对应的缺陷参数生成每个同类api对应的测试用例。

10、在一实施例中,获得同类api集之后,所述方法还包括:对于所述同类api集之外的其他api,获取所述其他api的参数信息,所述参数信息包括参数类型、参数值和参数形状;从预设缺陷数据库中查找参数信息与所述其他api的参数信息相似的api缺陷;利用所述api缺陷的参数信息生成对所述其他api的测试用例。

11、在一实施例中,利用所述测试用例对所述同类api进行模糊测试,获得所述同类api的缺陷检测结果,包括:在模糊测试过程中,在出现了非运行时报错信息或测试结果不一致的情况下,确定所述同类api的缺陷检测结果为存在缺陷。

12、本专利技术实施例还提供了一种跨框架api缺陷检测系统,所述跨框架api缺陷检测系统包括:获取模块,用于获取api缺陷代码,基于所述api缺陷代码确定所述api缺陷代码中的缺陷参数;相似算法模块,用于利用预设相似度算法从每个待测试的深度学习框架下的所有api中,遍历查找与所述api缺陷代码最相似的同类api,获得同类api集;模糊测试模块,用于对于所述同类api集中的每个同类api,利用所述每个同类api与所述api缺陷代码的参数匹配关系,以及所述api缺陷代码中的缺陷参数生成所述同类api对应的测试用例;利用所述测试用例对所述同类api进行模糊测试,获得所述同类api的缺陷检测结果。

13、本专利技术实施例还提供了一种电子设备,包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器;其中,所述处理器用于运行所述计算机程序时,执行上述任一项所述方法的步骤。

14、本专利技术实施例还提供了一种存储介质,所述存储介质中存储有计算机程序,所述计算机程序被处理器执行时,实现上述任一项所述方法的步骤。

15、本专利技术实施例提供的跨框架api缺陷检测方法、系统及相关装置,获取api缺陷代码,基于所述api缺陷代码确定所述api缺陷代码中的缺陷参数;利用预设相似度算法从每个待测试的深度学习框架下的所有api中,遍历查找与所述api缺陷代码最相似的同类api,获得同类api集;对于所述同类api集中的每个同类api,利用所述每个同类api与所述api缺陷代码的参数匹配关系,以及所述本文档来自技高网...

【技术保护点】

1.一种跨框架API缺陷检测方法,其特征在于,所述方法包括:

2.根据权利要求1所述的跨框架API缺陷检测方法,其特征在于,基于所述API缺陷代码确定所述API缺陷代码中的缺陷参数,包括:

3.根据权利要求1所述的跨框架API缺陷检测方法,其特征在于,利用预设相似度算法从每个待测试的深度学习框架下的所有API中,遍历查找与所述API缺陷代码最相似的同类API,获得同类API集,包括:

4.根据权利要求3所述的跨框架API缺陷检测方法,其特征在于,预设相似度算法为:

5.根据权利要求1所述的跨框架API缺陷检测方法,其特征在于,对于所述同类API集中的每个同类API,利用所述每个同类API与所述API缺陷代码的参数匹配关系,以及所述API缺陷代码中的缺陷参数生成所述同类API对应的测试用例,包括:

6.根据权利要求5所述的跨框架API缺陷检测方法,其特征在于,获得同类API集之后,所述方法还包括:

7.根据权利要求1所述的跨框架API缺陷检测方法,其特征在于,利用所述测试用例对所述同类API进行模糊测试,获得所述同类API的缺陷检测结果,包括:

8.一种跨框架API缺陷检测系统,其特征在于,所述跨框架API缺陷检测系统包括:

9.一种电子设备,其特征在于,包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器;其中,所述处理器用于运行所述计算机程序时,执行权利要求1至7任一项所述方法的步骤。

10.一种存储介质,所述存储介质中存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现权利要求1至7任一项所述方法的步骤。

...

【技术特征摘要】

1.一种跨框架api缺陷检测方法,其特征在于,所述方法包括:

2.根据权利要求1所述的跨框架api缺陷检测方法,其特征在于,基于所述api缺陷代码确定所述api缺陷代码中的缺陷参数,包括:

3.根据权利要求1所述的跨框架api缺陷检测方法,其特征在于,利用预设相似度算法从每个待测试的深度学习框架下的所有api中,遍历查找与所述api缺陷代码最相似的同类api,获得同类api集,包括:

4.根据权利要求3所述的跨框架api缺陷检测方法,其特征在于,预设相似度算法为:

5.根据权利要求1所述的跨框架api缺陷检测方法,其特征在于,对于所述同类api集中的每个同类api,利用所述每个同类api与所述api缺陷代码的参数匹配关系,以及所述api缺陷代码中的缺陷参数生成所述同类api...

【专利技术属性】
技术研发人员:潘祖烈欧仕文李宇薇单洪王文浩于璐郑敬华
申请(专利权)人:中国人民解放军国防科技大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1