摘要
本发明公开一种基于静态分析的Java空指针解引用检测方法,通过分层式分析框架与可达性验证结合,实现更精准的空指针异常检测。处理待检测的目标程序,获得中间表示IR和过程内控制流图CFG;基于IR和CFG进行过程内的空值数据流分析和别名分析,生成对应的数据流结果;根据数据流结果执行流不敏感指针分析,动态构建Java程序的指针流图,在图上传播null值,并同步生成过程间控制流图;从PFG中提取潜在的空值变量,收集这些变量相关的解引用语句,结合CFL‑Reachability算法在ICFG图上搜索符合控制流的null值传播的语句序列;针对不同的代码模式,对不同种类的语句序列,采用规则驱动的求解器来进行可达性验证,并输出缺陷检测报告。
技术关键词
指针
变量
序列
条件判断语句
计算机设备
可读存储介质
开源框架
报告
算法
动态
搜索模块
程序
处理器
分析模块
多层次
模式
存储器
系统为您推荐了相关专利信息
卷积深度神经网络
动态预测方法
带钢热连轧
深度神经网络DNN模型
轧制
GCN模型
流量检测方法
网络拓扑
节点特征
商业