本申请涉及异常分析,特别是涉及一种异常定位方法、装置、计算机设备和存储介质。
背景技术:
1、随着软件技术的不断发展,软件的开发与迭代更新速度越来越多,为防止软件在开发与迭代更新的过程中引入软件漏洞,需要对软件源代码进行异常检测,从而定位软件源代码中存在的异常代码。
2、但是,现有技术中对软件源代码进行异常检测的过程是通过人力操作实现的,导致了对软件源代码进行异常检测的效率较低,需要消耗大量的时间。
技术实现思路
1、基于此,有必要针对上述技术问题,提供一种能够快速对软件源代码进行异常检测的异常定位方法、装置、计算机设备和存储介质。
2、第一方面,本申请提供了一种异常定位方法。所述方法包括:
3、获取目标源代码对应的表征向量;其中,所述目标源代码中包括至少一个代码模块;
4、根据所述表征向量,从所述目标源代码中定位存在异常风险的异常代码模块;
5、对所述异常代码模块进行异常区域定位,确定所述异常代码模块中包含的异常代码,以及所述异常代码的异常代码区域。
6、在其中一个实施例中,所述对所述异常代码模块进行异常区域定位,确定所述异常代码模块中包含的异常代码,以及所述异常代码的异常代码区域,包括:
7、对所述异常代码模块中包含的至少一个候选代码区域的候选代码进行异常评分,得到各所述候选代码区域的异常评分结果;
8、根据所述异常评分结果,确定所述异常代码模块中包含的异常代码,以及所述异常代码的异常代码区域。
9、在其中一个实施例中,所述根据所述异常评分结果,确定所述异常代码模块中包含的异常代码,以及所述异常代码的异常代码区域,包括:
10、获取所述目标源代码对应的异常区域数量;
11、根据所述异常评分结果,确定所述异常代码模块中包含的异常区域数量的异常代码,以及各所述异常代码的异常代码区域。
12、在其中一个实施例中,所述根据所述表征向量,从所述目标源代码中定位存在异常风险的异常代码模块,包括:
13、获取预先设置的异常源代码对应的参考子向量;
14、根据所述参考子向量从所述表征向量包含的至少一个候选子向量中,确定异常子向量;
15、将所述异常子向量对应的候选代码模块,作为所述存在异常风险的异常代码模块。
16、在其中一个实施例中,所述根据所述参考子向量从所述表征向量包含的至少一个候选子向量中,确定异常子向量,包括:
17、根据所述参考子向量对所述表征向量包含的至少一个候选子向量进行二分类处理,确定各所述候选子向量对应的分类结果;
18、根据各所述候选子向量对应的分类结果,确定异常子向量。
19、在其中一个实施例中,所述表征向量包括目标源代码中词表示对应的词元向量、目标源代码中节点属性对应的节点属性向量和目标源代码中节点连接关系对应的系数邻接向量中的至少一项。
20、第二方面,本申请还提供了一种异常定位装置。所述装置包括:
21、获取模块,用于获取目标源代码对应的表征向量;其中,所述目标源代码中包括至少一个代码模块;
22、第一定位模块,用于根据所述表征向量,从所述目标源代码中定位存在异常风险的异常代码模块;
23、第二定位模块,用于对所述异常代码模块进行异常区域定位,确定所述异常代码模块中包含的异常代码,以及所述异常代码的异常代码区域。
24、第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
25、获取目标源代码对应的表征向量;其中,所述目标源代码中包括至少一个代码模块;
26、根据所述表征向量,从所述目标源代码中定位存在异常风险的异常代码模块;
27、对所述异常代码模块进行异常区域定位,确定所述异常代码模块中包含的异常代码,以及所述异常代码的异常代码区域。
28、第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
29、获取目标源代码对应的表征向量;其中,所述目标源代码中包括至少一个代码模块;
30、根据所述表征向量,从所述目标源代码中定位存在异常风险的异常代码模块;
31、对所述异常代码模块进行异常区域定位,确定所述异常代码模块中包含的异常代码,以及所述异常代码的异常代码区域。
32、第五方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
33、获取目标源代码对应的表征向量;其中,所述目标源代码中包括至少一个代码模块;
34、根据所述表征向量,从所述目标源代码中定位存在异常风险的异常代码模块;
35、对所述异常代码模块进行异常区域定位,确定所述异常代码模块中包含的异常代码,以及所述异常代码的异常代码区域。
36、上述异常定位方法、装置、计算机设备和存储介质,通过获取目标源代码对应的表征向量,实现根据表征向量,从目标源代码中定位存在异常风险的异常代码模块;进而,对异常代码模块进行异常区域定位,确定异常代码模块中包含的异常代码,以及异常代码的异常代码区域。根据上述内容可知,本申请在确定异常代码,以及异常代码的异常代码区域时,并不是通过人力操作实现对目标源代码进行异常检测,而是根据目标源代码对应的表征向量,从目标源代码中包括的至少一个代码模块中定位存在异常风险的异常代码模块,进而,从异常代码模块中确定异常代码,以及异常代码的异常代码区域。因此,相比起现有技术,本申请能够快速实现异常代码定位操作,提高了对目标源代码进行异常检测的效率,并且,通过确定异常代码模块的步骤和对异常代码模块进行异常区域定位的步骤,本申请保证了异常代码,以及异常代码的异常代码区域的确定准确性,便于后续对目标源代码进行异常代码修复。
1.一种异常定位方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述对所述异常代码模块进行异常区域定位,确定所述异常代码模块中包含的异常代码,以及所述异常代码的异常代码区域,包括:
3.根据权利要求2所述的方法,其特征在于,所述根据所述异常评分结果,确定所述异常代码模块中包含的异常代码,以及所述异常代码的异常代码区域,包括:
4.根据权利要求1所述的方法,其特征在于,所述根据所述表征向量,从所述目标源代码中定位存在异常风险的异常代码模块,包括:
5.根据权利要求4所述的方法,其特征在于,所述根据所述参考子向量从所述表征向量包含的至少一个候选子向量中,确定异常子向量,包括:
6.根据权利要求1-5中任一项所述的方法,其特征在于,所述表征向量包括目标源代码中词表示对应的词元向量、目标源代码中节点属性对应的节点属性向量和目标源代码中节点连接关系对应的系数邻接向量中的至少一项。
7.一种异常定位装置,其特征在于,所述装置包括:
8.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
10.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。