异常检测方法、装置、电子设备和存储介质与流程

文档序号:33352436发布日期:2023-03-04 05:26阅读:来源:国知局

技术特征:
1.一种异常检测方法,所述方法包括:获取对源代码文件进行编译得到的中间代码,其中,所述中间代码中包括待检测函数;获取所述待检测函数中的至少一个待检测参数的取值范围;针对任一所述待检测参数,根据所述中间代码中所述待检测参数的参数值来源,确定所述待检测参数的参数值;在所述至少一个待检测参数中存在参数值未处于对应取值范围内的目标检测参数的情况下,生成并展示异常信息,其中,所述异常信息用于指示所述源代码文件存在与所述目标检测参数相关的取值异常。2.根据权利要求1所述的方法,其中,所述针对任一所述待检测参数,根据所述中间代码中所述待检测参数的参数值来源,确定所述待检测参数的参数值,包括:针对任一所述待检测参数,从所述中间代码中确定所述待检测参数的参数值来源;在所述待检测参数的参数值来源的类型为常量类型的情况下,根据所述待检测参数的参数值来源,确定所述待检测参数的参数值。3.根据权利要求2所述的方法,其中,所述针对任一所述待检测参数,从所述中间代码中确定所述待检测参数的参数值来源之前,所述方法还包括:从所述中间代码的多个指令中确定函数调用指令和赋值指令;根据所述函数调用指令,生成函数调用链,其中,所述函数调用链用于指示所述中间代码中函数之间的调用关系;根据所述赋值指令,捕获所述中间代码中类型为常量类型的各参数和各常量。4.根据权利要求3所述的方法,其中,所述在所述待检测参数的参数值来源的类型为常量类型的情况下,根据所述待检测参数的参数值来源,确定所述待检测参数的参数值之前,所述方法还包括:确定所述待检测参数在所述中间代码中的参数形式为非函数调用形式。5.根据权利要求3所述的方法,其中,所述在所述待检测参数的参数值来源的类型为常量类型的情况下,根据所述待检测参数的参数值来源,确定所述待检测参数的参数值之前,所述方法还包括:确定所述待检测参数在所述中间代码中的参数形式为函数调用形式;相应的,所述在所述待检测参数的参数值来源的类型为常量类型的情况下,根据所述待检测参数的参数值来源,确定所述待检测参数的参数值,包括:在所述待检测参数的参数值来源的类型为常量类型的情况下,根据所述函数调用链和所述待检测参数的参数值来源,确定所述待检测参数的参数值。6.根据权利要求1-5中任一项所述的方法,其中,所述获取所述待检测函数中的至少一个待检测参数的取值范围,包括:对所述源代码文件的配置文件进行解析,以得到所述至少一个待检测参数的取值范围。7.根据权利要求1-5中任一项所述的方法,其中,所述获取对源代码文件进行编译得到的中间代码之前,所述方法还包括:获取所述源代码文件对应的编程语言;对所述源代码文件执行词法分析、语法分析和语义分析中的至少一项,以确定所述源
代码文件是否所述编程语言对应的代码规范;确定所述源代码文件符合所述代码规范。8.根据权利要求7所述的方法,其中,所述方法还包括:在所述源代码文件不符合所述代码规范的情况下,生成报错信息;其中,所述报错信息用于指示所述源代码文件的编程语言不符合所述代码规范。9.一种异常检测装置,所述装置包括:第一获取模块,用于获取对源代码文件进行编译得到的中间代码,其中,所述中间代码中包括待检测函数;第二获取模块,用于获取所述待检测函数中的至少一个待检测参数的取值范围;第一确定模块,用于针对任一所述待检测参数,根据所述中间代码中所述待检测参数的参数值来源,确定所述待检测参数的参数值;处理模块,用于在所述至少一个待检测参数中存在参数值未处于对应取值范围内的目标检测参数的情况下,生成并展示异常信息,其中,所述异常信息用于指示所述源代码文件存在与所述目标检测参数相关的取值异常。10.根据权利要求9所述的装置,其中,所述第一确定模块,用于:针对任一所述待检测参数,从所述中间代码中确定所述待检测参数的参数值来源;在所述待检测参数的参数值来源的类型为常量类型的情况下,根据所述待检测参数的参数值来源,确定所述待检测参数的参数值。11.根据权利要求10所述的装置,其中,所述装置还包括:第二确定模块,用于从所述中间代码的多个指令中确定函数调用指令和赋值指令;第一生成模块,用于根据所述函数调用指令,生成函数调用链,其中,所述函数调用链用于指示所述中间代码中函数之间的调用关系;捕获模块,用于根据所述赋值指令,捕获所述中间代码中类型为常量类型的各参数和各常量。12.根据权利要求11所述的装置,其中,所述装置还包括:第三确定模块,用于确定所述待检测参数在所述中间代码中的参数形式为非函数调用形式。13.根据权利要求12所述的装置,其中,所述装置还包括:第四确定模块,用于确定所述待检测参数在所述中间代码中的参数形式为函数调用形式;相应的,所述第一确定模块,用于:在所述待检测参数的参数值来源的类型为常量类型的情况下,根据所述函数调用链和所述待检测参数的参数值来源,确定所述待检测参数的参数值。14.根据权利要求9-13中任一项所述的装置,其中,所述第二获取模块,用于:对所述源代码文件的配置文件进行解析,以得到所述至少一个待检测参数的取值范围。15.根据权利要求9-13中任一项所述的装置,其中,所述装置还包括:第三获取模块,用于获取所述源代码文件对应的编程语言;执行模块,用于对所述源代码文件执行词法分析、语法分析和语义分析中的至少一项,
以确定所述源代码文件是否所述编程语言对应的代码规范;第五确定模块,用于确定所述源代码文件符合所述代码规范。16.根据权利要求15所述的装置,其中,所述装置还包括:第二生成模块,用于在所述源代码文件不符合所述代码规范的情况下,生成报错信息;其中,所述报错信息用于指示所述源代码文件的编程语言不符合所述代码规范。17.一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-8中任一项所述的异常检测方法。18.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-8中任一项所述的异常检测方法。19.一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1-8中任一项所述异常检测方法的步骤。

技术总结
本公开提供了一种异常检测方法、装置、电子设备和存储介质,涉及智能云、云计算等领域。具体实现方案为:对源代码文件进行编译,得到中间代码,并获取中间代码中待检测函数中的至少一个待检测参数的取值范围;根据中间代码中待检测参数的参数值来源,确定待检测参数的参数值;在存在参数值未处于对应取值范围内的目标检测参数的情况下,生成并展示异常信息;异常信息用于指示源代码文件存在与目标检测参数相关的取值异常。由此,可以实现根据业务需求,对源代码文件中与待检测函数中待检测参数相关参数的取值进行检测,以确定参数取值是否异常,若是,则生成提示信息,以使相关人员对源代码文件进行修改,降低源代码文件不符合预期的情况发生。的情况发生。的情况发生。


技术研发人员:钟真炎 李鸿斌 李庆芳
受保护的技术使用者:北京百度网讯科技有限公司
技术研发日:2022.11.22
技术公布日:2023/3/3
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1