软件代码缺陷检测方法、装置、介质及设备制造方法及图纸

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

【技术实现步骤摘要】
软件代码缺陷检测方法、装置、介质及设备


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

技术介绍

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

技术实现思路

[0003]本申请实施例提供一种软件代码缺陷检测方法、装置、介质及设备,利用本申请实施例提供的软件代码缺陷检测方法,通过识别出待检测代码中不影响代码运行和完整性的字符,再将识别出的字符删除,简化代码从而能够减少代码检查工作量和提升代码的运行效率。
[0004]本申请实施例一方面提供了一种软件代码缺陷检测方法,所述软件代码缺陷检测方法包括:
[0005]获取待检测代码文本,根据预设的代码构建规则判断所述待检测代码文本是否按照设定的撰写框架进行搭建;
[0006]在所述待检测代码文本满足所述代码构建规则时,根据组成所述待检测代码文本的各类代码字符串确定各自对应的预设检验规则;
[0007]根据所述预设检验规则分别对所述待检测代码文本中的各类代码字符串进行缺陷检测操作,得到不同预设检验规则对应的检验结果。
[0008]在本申请实施例所述的软件代码缺陷检测方法中,所述根据预设的代码构建规则判断所述待检测代码文本是否按照设定的撰写框架进行搭建,包括:
[0009]按照预设的若干个关键词对所述待检测代码文本进行遍历搜索,判断所述待检测代码文本中是否包括与所述若干个关键词对应的代码字符串,以判断所述待检测代码文本是否按照设定的撰写框架进行搭建。
[0010]在本申请实施例所述的软件代码缺陷检测方法中,所述判断所述待检测代码文本中是否包括与所述若干个关键词对应的代码字符串,以判断所述待检测代码文本是否按照
设定的撰写框架进行搭建,包括:
[0011]判断所述待检测代码文本中是否包括与所述若干个关键词对应的代码字符串,且所述代码字符串在所述待检测代码文本中的出现顺序与所述若干个关键词的预设排序顺序对应,以判断所述待检测代码文本是否按照设定的撰写框架进行搭建。
[0012]在本申请实施例所述的软件代码缺陷检测方法中,所述关键词包括类信息关键词、字段属性关键词及方法信息关键词中的一种或多种。
[0013]在本申请实施例所述的软件代码缺陷检测方法中,所述检验结果包括:
[0014]所述类信息的命名规范是否符合预设命名规则;或
[0015]所述字段属性中字节码的引用关系是否符合预设引用规则;或
[0016]所述方法信息中字节码指令是否符合调试打印规则。
[0017]在本申请实施例所述的软件代码缺陷检测方法中,在所述得到不同预设检验规则对应的检验结果之后,所述方法还包括代码缺陷处理操作:
[0018]对所述类信息中命名不规范的异常类信息进行标记;或
[0019]对所述字段属性中字节码引用关系错误的异常字段属性删除;或
[0020]对所述方法信息中字节码指令不符合调试打印规则的异常方法信息删除。
[0021]在本申请实施例所述的软件代码缺陷检测方法中,所述方法还包括:
[0022]生成包括经所述代码缺陷处理操作后的优化代码文本的通知信息。
[0023]相应的,本申请实施例另一方面还提供了一种软件代码缺陷检测装置,所述软件代码缺陷检测装置包括:
[0024]文本获取模块,用于获取待检测代码文本,根据预设的代码构建规则判断所述待检测代码文本是否按照设定的撰写框架进行搭建;
[0025]规则确定模块,用于在所述待检测代码文本满足所述代码构建规则时,根据组成所述待检测代码文本的各类代码字符串确定各自对应的预设检验规则;
[0026]结果检验模块,用于根据所述预设检验规则分别对所述待检测代码文本中的各类代码字符串进行缺陷检测操作,得到不同预设检验规则对应的检验结果。
[0027]相应的,本申请实施例另一方面还提供了一种存储介质,所述存储介质存储有多条指令,所述指令适于处理器进行加载,以执行如上所述的软件代码缺陷检测方法。
[0028]相应的,本申请实施例另一方面还提供了一种终端设备,包括处理器和存储器,所述存储器存储有多条指令,所述处理器加载所述指令以执行如上所述的软件代码缺陷检测方法。
[0029]本申请实施例提供了一种软件代码缺陷检测方法、装置、介质及设备,该方法通过获取待检测代码文本,根据预设的代码构建规则判断所述待检测代码文本是否按照设定的撰写框架进行搭建;在所述待检测代码文本满足所述代码构建规则时,根据组成所述待检测代码文本的各类代码字符串确定各自对应的预设检验规则;根据所述预设检验规则分别对所述待检测代码文本中的各类代码字符串进行缺陷检测操作,得到不同预设检验规则对应的检验结果。利用本申请实施例提供的软件代码缺陷检测方法,通过识别出待检测代码中不影响代码运行和完整性的字符,再将识别出的字符删除,简化代码从而能够减少代码检查工作量和提升代码的运行效率。
附图说明
[0030]为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0031]图1为本申请实施例提供的软件代码缺陷检测方法的流程示意图。
[0032]图2为本申请实施例提供的软件代码缺陷检测装置的结构示意图。
[0033]图3为本申请实施例提供的软件代码缺陷检测装置的另一结构示意图。
[0034]图4为本申请实施例提供的终端设备的结构示意图。
具体实施方式
[0035]下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本申请的保护本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种软件代码缺陷检测方法,其特征在于,包括:获取待检测代码文本,根据预设的代码构建规则判断所述待检测代码文本是否按照设定的撰写框架进行搭建;在所述待检测代码文本满足所述代码构建规则时,根据组成所述待检测代码文本的各类代码字符串确定各自对应的预设检验规则;根据所述预设检验规则分别对所述待检测代码文本中的各类代码字符串进行缺陷检测操作,得到不同预设检验规则对应的检验结果。2.如权利要求1所述的软件代码缺陷检测方法,其特征在于,所述根据预设的代码构建规则判断所述待检测代码文本是否按照设定的撰写框架进行搭建,包括:按照预设的若干个关键词对所述待检测代码文本进行遍历搜索,判断所述待检测代码文本中是否包括与所述若干个关键词对应的代码字符串,以判断所述待检测代码文本是否按照设定的撰写框架进行搭建。3.如权利要求2所述的软件代码缺陷检测方法,其特征在于,所述判断所述待检测代码文本中是否包括与所述若干个关键词对应的代码字符串,以判断所述待检测代码文本是否按照设定的撰写框架进行搭建,包括:判断所述待检测代码文本中是否包括与所述若干个关键词对应的代码字符串,且所述代码字符串在所述待检测代码文本中的出现顺序与所述若干个关键词的预设排序顺序对应,以判断所述待检测代码文本是否按照设定的撰写框架进行搭建。4.如权利要求3所述的软件代码缺陷检测方法,其特征在于,所述关键词包括类信息关键词、字段属性关键词及方法信息关键词中的一种或多种。5.如权利要求4所述的软件代码缺陷检测方法,其特征在于,所述检验结果包括:所述类信息的命名规范是否符合预设命...

【专利技术属性】
技术研发人员:吴艳兵
申请(专利权)人:平安银行股份有限公司
类型:发明
国别省市:

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

1