一种防代码劣化的监控方法及装置制造方法及图纸

技术编号:38339695 阅读:9 留言:0更新日期:2023-08-02 09:20
本发明专利技术可用于计算机数据处理技术在金融方面应用的技术领域,本发明专利技术提供了一种防代码劣化的监控方法及装置,对应的方法包括:对目标源代码进行静态代码检测,以生成静态检测结果;确定所述静态检测结果的圈复杂度;对所述静态检测结果进行耦合关系检测,以确定所述目标源代码的耦合关系;根据所述静态检测结果、圈复杂度以及耦合关系监控所述目标源代码的劣化度。本发明专利技术所提供的防代码劣化的监控方法及装置,大大减少了对于代码劣质化监控所导致的人力成本。的人力成本。的人力成本。

【技术实现步骤摘要】
一种防代码劣化的监控方法及装置


[0001]本申请属于计算机数据处理
,特别是涉及软件源代码的质量监控
,具体涉及一种防代码劣化的监控方法及装置。

技术介绍

[0002]随着计算机技术的高速发展,软件项目的开发周期越来越短,因此采用快速迭代及持续交付成为了多数软件公司的必然选择,故在这过程中保证软件代码的质量变得尤为重要。在这种情况下,随着业务的发展,新增代码与存量代码的合并,任何架构都无法保证代码不会劣化以及执行效率不会降低,所以程序劣化是必然会出现的。
[0003]现有技术中,解决上述问题一般有以下两种方法:一是在发版投产前进行人工代码检查,比对当期改造代码。二是在发版投产后收集线上反馈,逐个定位问题。方法一无法实时监控,代码检查本身已消耗大量人力成本,如果届时再发现问题修复费时费力,很容易导致无法按原有项目时间基线进行发版投产;方法二大大拉长了问题的解决时间,被动的收集反馈,永远追不上代码劣化的速度,而且很多代码劣化只是影响执行效率,这些内容在线上反馈收集困难,用户更关注于崩溃、无法使用等阻碍性问题。

技术实现思路

[0004]本专利技术可用于计算机数据处理技术在金融方面应用的
,也可用于除金融领域之外的任意领域,本专利技术所提供的防代码劣化的监控方法及装置,大大减少了对于代码劣质化监控所导致的人力成本。
[0005]为解决本申请
技术介绍
中的技术问题,本专利技术提供以下技术方案:
[0006]第一方面,本专利技术提供一种防代码劣化的监控方法包括:
>[0007]对目标源代码进行静态代码检测,以生成静态检测结果;
[0008]确定所述静态检测结果的圈复杂度,
[0009]对所述静态检测结果进行耦合关系检测,以确定所述目标源代码的耦合关系;
[0010]根据所述静态检测结果、圈复杂度以及耦合关系监控所述目标源代码的劣化度。
[0011]在本专利技术的一实施例中,所述对目标源代码进行静态代码检测,以生成静态检测结果,包括:
[0012]计算所述目标源代码的增量代码;
[0013]根据预设的检测条件对所述增量代码进行lint检测,以生成所述静态检测结果。
[0014]在本专利技术的一实施例中,所述静态检测结果包括:空指针、赋值次序、变量没有初始化以及不可移植的代码。
[0015]在本专利技术的一实施例中,确定所述静态检测结果的圈复杂度包括:
[0016]遍历所述静态检测结果,以确定所述静态检测结果中的控制流语句;
[0017]根据所述控制流语句数量确定所述圈复杂度。
[0018]在本专利技术的一实施例中,对所述静态检测结果进行耦合关系检测,以确定所述目
标源代码的耦合关系,包括:
[0019]确定所述静态检测结果中的多个功能模块;
[0020]确定所述多个功能模块之间的调用关系;
[0021]根据所述调用关系确定所述耦合关系。
[0022]在本专利技术的一实施例中,确定所述多个功能模块之间的调用关系包括:
[0023]获取多个功能模块间的引用头文件;
[0024]确定所述引用头文件在所述多个功能模块间的引用形式;
[0025]根据所述引用形式判断所述引用头文件是否为耦合文件,以确定所述多个功能模块之间的调用关系。
[0026]第二方面,本专利技术提供一种防代码劣化的监控装置,该装置包括:
[0027]代码检测模块,用于对目标源代码进行静态代码检测,以生成静态检测结果;
[0028]圈复杂度确定模块,用于确定所述静态检测结果的圈复杂度,
[0029]耦合关系确定模块,用于对所述静态检测结果进行耦合关系检测,以确定所述目标源代码的耦合关系;
[0030]劣化度确定模块,用于根据所述静态检测结果、圈复杂度以及耦合关系监控所述目标源代码的劣化度。
[0031]在本专利技术的一实施例中,所述代码检测模块包括:
[0032]增量代码计算单元,用于计算所述目标源代码的增量代码;
[0033]检测结果生成单元,用于根据预设的检测条件对所述增量代码进行lint检测,以生成所述静态检测结果。
[0034]在本专利技术的一实施例中,所述静态检测结果包括:空指针、赋值次序、变量没有初始化以及不可移植的代码。
[0035]在本专利技术的一实施例中,圈复杂度确定模块包括:
[0036]控制流语句确定单元,用于遍历所述静态检测结果,以确定所述静态检测结果中的控制流语句;
[0037]圈复杂度确定单元,用于根据所述控制流语句数量确定所述圈复杂度。
[0038]在本专利技术的一实施例中,耦合关系确定模块包括:
[0039]功能模块确定单元,用于确定所述静态检测结果中的多个功能模块;
[0040]调用关系确定单元,用于确定所述多个功能模块之间的调用关系;
[0041]耦合关系确定单元,用于根据所述调用关系确定所述耦合关系。
[0042]在本专利技术的一实施例中,调用关系确定单元包括:
[0043]引用头文件获取单元,用于获取多个功能模块间的引用头文件;
[0044]引用形式确定单元,用于确定所述引用头文件在所述多个功能模块间的引用形式;
[0045]调用关系确定子单元,用于根据所述引用形式判断所述引用头文件是否为耦合文件,以确定所述多个功能模块之间的调用关系。
[0046]第三方面,本专利技术提供一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现一种防代码劣化的监控方法的步骤。
[0047]第四方面,本专利技术提供一种电子设备,包括存储器、处理器及存储在存储器上并可
在处理器上运行的计算机程序,处理器执行程序时实现防代码劣化的监控方法的步骤。
[0048]第五方面,本专利技术提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现防代码劣化的监控方法的步骤。
[0049]从上述描述可知,本专利技术实施例提供一种防代码劣化的监控方法及装置,包括:首先对目标源代码进行静态代码检测,以生成静态检测结果;接着,确定静态检测结果的圈复杂度;对静态检测结果进行耦合关系检测,以确定目标源代码的耦合关系;最后根据静态检测结果、圈复杂度以及耦合关系监控目标源代码的劣化度。本专利技术所提供的防代码劣化的监控方法及装置,大大减少对于代码劣质化监控所导致的人力成本。
附图说明
[0050]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0051]图1为本专利技术的实施例中防代码劣化的监控方法的流程示意图一;
[0052]图2为本专利技术的实施例中防代码劣化的监控方法的步骤100的流程示意图;
本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种防代码劣化的监控方法,其特征在于,包括:对目标源代码进行静态代码检测,以生成静态检测结果;确定所述静态检测结果的圈复杂度;对所述静态检测结果进行耦合关系检测,以确定所述目标源代码的耦合关系;根据所述静态检测结果、圈复杂度以及耦合关系监控所述目标源代码的劣化度。2.根据权利要求1所述的监控方法,其特征在于,所述对目标源代码进行静态代码检测,以生成静态检测结果,包括:计算所述目标源代码的增量代码;根据预设的检测条件对所述增量代码进行lint检测,以生成所述静态检测结果。3.根据权利要求1所述的监控方法,其特征在于,所述静态检测结果包括:空指针、赋值次序、变量没有初始化以及不可移植的代码。4.根据权利要求1所述的监控方法,其特征在于,确定所述静态检测结果的圈复杂度包括:遍历所述静态检测结果,以确定所述静态检测结果中的控制流语句;根据所述控制流语句数量确定所述圈复杂度。5.根据权利要求1所述的监控方法,其特征在于,对所述静态检测结果进行耦合关系检测,以确定所述目标源代码的耦合关系,包括:确定所述静态检测结果中的多个功能模块;确定所述多个功能模块之间的调用关系;根据所述调用关系确定所述耦合关系。6.根据权利要求5所述的监控方法,其特征在于,确定...

【专利技术属性】
技术研发人员:韩天助马思雨朱钰王明月
申请(专利权)人:中国工商银行股份有限公司
类型:发明
国别省市:

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

1