【技术实现步骤摘要】
一种基于代码扫描的性能风险检测方法
[0001]本专利技术涉及性能测试
,尤其是涉及一种基于代码扫描的性能风险检测方法。
技术介绍
[0002]现有业务场景中,开发人员提交的代码往往需要进行相应的性能测试,传统方案是使用静态代码扫描规则对目标应用进行扫描分析,对已存在性能问题对应的代码特征进行提取后生成的问题代码,获取目标应用的性能优化策略,其中,扫描规则来自于解析已存在的性能问题对应的代码特征,生成性能问题对应的问题代码,将性能问题对应的问题代码存入性能问题经验库;在扫描出问题后获取目标应用的性能优化策略,并根据策略进行性能优化。
[0003]在采用静态代码扫描规则对目标应用进行扫描分析时,主要过程包括:
[0004]确定目标应用的代码对应的作用域函数;
[0005]判断作用域函数是否满足预置的函数类型,若是,则获取作用域函数的函数名;再判断函数名是否为预置的函数名,若是,则对作用域函数包括的符号单元进行语法分析;进一步判断符号单元是否存在语法错误,若是,则确定该目标应用的代码是问题代码,若性 ...
【技术保护点】
【技术特征摘要】
1.一种基于代码扫描的性能风险检测方法,其特征在于,在每次代码编译审核时运行,包括以下步骤:S1、采用静态方式对待测源码进行遍历扫描,结合预设的共性规则以及性能类型机制,进行缺陷规则匹配、类型推断以及数据流分析,输出得到检测结果;S2、根据检测结果,对当前性能问题经验库进行数据补充。2.根据权利要求1所述的一种基于代码扫描的性能风险检测方法,其特征在于,所述步骤S1中对待测源码进行遍历扫描具体是对待测源码的语法、结构、过程、接口进行检查。3.根据权利要求1所述的一种基于代码扫描的性能风险检测方法,其特征在于,所述步骤S1中进行缺陷规则匹配具体是将待测源码与预设的共性规则进行匹配;所述步骤S1中进行类型推断具体是基于预设的性能类型机制,对待测源码中的运算对象类型进行推理。4.根据权利要求1所述的一种基于代码扫描的性能风险检测方法,其特征在于,所述步骤S1中进行数据流分析的具体过程为:收集待测源码中引用到的变量信息,进而分析该变量在程序中的赋值、引用以及传递信息;通过对数据流进行分析,确定出变量的定义以及在待测源码中被引用的情况,同时检查待测源码数据量的异常、检验程序中数据域的特点,判断是否存在影响性能的数据。5.根据权利要求1所述的一种基于代码扫描的性能风险检测方法,其特征在于,所述步骤S1中检测结果具体是采用预设固定模板形成的性能风险检测报告,所述性能风险检测报告...
【专利技术属性】
技术研发人员:铁锦程,陈嘉,王冈,李黎,吴浩,方欣,刘梦姣,
申请(专利权)人:上海浦东发展银行股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。