一种基于代码扫描的性能风险检测方法技术

技术编号:38631983 阅读:42 留言:0更新日期:2023-08-31 18:30
本发明专利技术涉及一种基于代码扫描的性能风险检测方法,在每次代码编译审核时运行,包括以下步骤:采用静态方式对待测源码进行遍历扫描,结合预设的共性规则以及性能类型机制,进行缺陷规则匹配、类型推断以及数据流分析,输出得到检测结果;根据检测结果,对当前性能问题经验库进行数据补充。与现有技术相比,本发明专利技术使用字节码技术、静态检测技术,采用数据流分析的方式对待测源码进行遍历扫描,根据已有规则、通用规则,针对内存类、多线程类、日志类、SQL语句类的性能风险进行检测,并自动推荐解决方案,能够高效、精准定位性能问题,有效降低性能问题修复成本。性能问题修复成本。性能问题修复成本。

【技术实现步骤摘要】
一种基于代码扫描的性能风险检测方法


[0001]本专利技术涉及性能测试
,尤其是涉及一种基于代码扫描的性能风险检测方法。

技术介绍

[0002]现有业务场景中,开发人员提交的代码往往需要进行相应的性能测试,传统方案是使用静态代码扫描规则对目标应用进行扫描分析,对已存在性能问题对应的代码特征进行提取后生成的问题代码,获取目标应用的性能优化策略,其中,扫描规则来自于解析已存在的性能问题对应的代码特征,生成性能问题对应的问题代码,将性能问题对应的问题代码存入性能问题经验库;在扫描出问题后获取目标应用的性能优化策略,并根据策略进行性能优化。
[0003]在采用静态代码扫描规则对目标应用进行扫描分析时,主要过程包括:
[0004]确定目标应用的代码对应的作用域函数;
[0005]判断作用域函数是否满足预置的函数类型,若是,则获取作用域函数的函数名;再判断函数名是否为预置的函数名,若是,则对作用域函数包括的符号单元进行语法分析;进一步判断符号单元是否存在语法错误,若是,则确定该目标应用的代码是问题代码,若性能优化后的目标应用中本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种基于代码扫描的性能风险检测方法,其特征在于,在每次代码编译审核时运行,包括以下步骤:S1、采用静态方式对待测源码进行遍历扫描,结合预设的共性规则以及性能类型机制,进行缺陷规则匹配、类型推断以及数据流分析,输出得到检测结果;S2、根据检测结果,对当前性能问题经验库进行数据补充。2.根据权利要求1所述的一种基于代码扫描的性能风险检测方法,其特征在于,所述步骤S1中对待测源码进行遍历扫描具体是对待测源码的语法、结构、过程、接口进行检查。3.根据权利要求1所述的一种基于代码扫描的性能风险检测方法,其特征在于,所述步骤S1中进行缺陷规则匹配具体是将待测源码与预设的共性规则进行匹配;所述步骤S1中进行类型推断具体是基于预设的性能类型机制,对待测源码中的运算对象类型进行推理。4.根据权利要求1所述的一种基于代码扫描的性能风险检测方法,其特征在于,所述步骤S1中进行数据流分析的具体过程为:收集待测源码中引用到的变量信息,进而分析该变量在程序中的赋值、引用以及传递信息;通过对数据流进行分析,确定出变量的定义以及在待测源码中被引用的情况,同时检查待测源码数据量的异常、检验程序中数据域的特点,判断是否存在影响性能的数据。5.根据权利要求1所述的一种基于代码扫描的性能风险检测方法,其特征在于,所述步骤S1中检测结果具体是采用预设固定模板形成的性能风险检测报告,所述性能风险检测报告...

【专利技术属性】
技术研发人员:铁锦程陈嘉王冈李黎吴浩方欣刘梦姣
申请(专利权)人:上海浦东发展银行股份有限公司
类型:发明
国别省市:

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

1