软件代码缺陷检测方法、装置、介质及设备与流程

文档序号:34726392发布日期:2023-07-07 20:45阅读:57来源:国知局
软件代码缺陷检测方法、装置、介质及设备与流程

本申请涉及电子通信,尤其涉及一种数据更新,特别涉及一种软件代码缺陷检测方法、装置、介质及设备。


背景技术:

1、代码文本中的字节码是遵循java virtual machine specificationd中classfile结构,包括类信息(access_flag、interfaces、super_class等等)、字段属性(field_info)和方法信息(method_info)等。字节码指令每一个的运行都会有时间的消耗,如果未进行合理的优化,在高并发的情况下,会严重影响性能。随着软件系统的发展,企业对系统性能的要求也越来越高。开发团队往往通过codereview(代码评审)以及代码静态扫描工具sonar,检查代码缺陷或者潜在的风险,降低修复成本,改善代码质量,同时促进团队内部知识共享,帮助更多人更好地理解系统。然而codereview和静态扫描并非万能,首先codereview一方面依赖于review的人,有经验的人能够更加快速有效的进行codereview,另外走查的代码量太大,无法做到详细走查,影响效率。不全面的走查有可能出现信息安全等问题。


技术实现思路

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、本申请实施例提供了一种软件代码缺陷检测方法、装置、介质及设备,该方法通过获取待检测代码文本,根据预设的代码构建规则判断所述待检测代码文本是否按照设定的撰写框架进行搭建;在所述待检测代码文本满足所述代码构建规则时,根据组成所述待检测代码文本的各类代码字符串确定各自对应的预设检验规则;根据所述预设检验规则分别对所述待检测代码文本中的各类代码字符串进行缺陷检测操作,得到不同预设检验规则对应的检验结果。利用本申请实施例提供的软件代码缺陷检测方法,通过识别出待检测代码中不影响代码运行和完整性的字符,再将识别出的字符删除,简化代码从而能够减少代码检查工作量和提升代码的运行效率。



技术特征:

1.一种软件代码缺陷检测方法,其特征在于,包括:

2.如权利要求1所述的软件代码缺陷检测方法,其特征在于,所述根据预设的代码构建规则判断所述待检测代码文本是否按照设定的撰写框架进行搭建,包括:

3.如权利要求2所述的软件代码缺陷检测方法,其特征在于,所述判断所述待检测代码文本中是否包括与所述若干个关键词对应的代码字符串,以判断所述待检测代码文本是否按照设定的撰写框架进行搭建,包括:

4.如权利要求3所述的软件代码缺陷检测方法,其特征在于,所述关键词包括类信息关键词、字段属性关键词及方法信息关键词中的一种或多种。

5.如权利要求4所述的软件代码缺陷检测方法,其特征在于,所述检验结果包括:

6.如权利要求5所述的软件代码缺陷检测方法,其特征在于,在所述得到不同预设检验规则对应的检验结果之后,所述方法还包括代码缺陷处理操作:

7.如权利要求6所述的软件代码缺陷检测方法,其特征在于,所述方法还包括:

8.一种软件代码缺陷检测装置,其特征在于,所述软件代码缺陷检测装置包括:

9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有多条指令,所述指令适于处理器进行加载,以执行权利要求1至7任一项所述的软件代码缺陷检测方法。

10.一种终端设备,其特征在于,包括处理器和存储器,所述存储器存储有多条指令,所述处理器加载所述指令以执行权利要求1至7任一项所述的软件代码缺陷检测方法。


技术总结
本申请实施例提供一种软件代码缺陷检测方法、装置、介质及设备,该方法包括:获取待检测代码文本,根据预设的代码构建规则判断所述待检测代码文本是否按照设定的撰写框架进行搭建;在所述待检测代码文本满足所述代码构建规则时,根据组成所述待检测代码文本的各类代码字符串确定各自对应的预设检验规则;根据所述预设检验规则分别对所述待检测代码文本中的各类代码字符串进行缺陷检测操作,得到不同预设检验规则对应的检验结果。利用本申请实施例提供的软件代码缺陷检测方法,通过识别出待检测代码中不影响代码运行和完整性的字符,再将识别出的字符删除,简化代码从而能够减少代码检查工作量和提升代码的运行效率。

技术研发人员:吴艳兵
受保护的技术使用者:平安银行股份有限公司
技术研发日:
技术公布日:2024/1/13
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1