-
公开(公告)号:CN108804332A
公开(公告)日:2018-11-13
申请号:CN201810613423.9
申请日:2018-06-14
Applicant: 南京大学
IPC: G06F11/36
CPC classification number: G06F11/366
Abstract: 本发明公开一种基于机器学习的C程序内存泄漏智能化检测方法,分为三个阶段:模型构建阶段,根据已有的内存泄漏构建两个数据集,分别从两个数据中提取内存泄漏特征,将内存泄漏特征输入机器学习的分类器进行训练,交叉验证,修改分类器类型及参数,选取分类准确率最高的作为分类器模型来检测内存泄漏。程序分析与特征获取阶段,对源程序进行预分析,获取所有的内存分配点o,然后进行指针分析,构建从o开始的VFG(ValueFlowGraph),提取VFG中每条路径对应的内存泄漏特征。缺陷检测与报告阶段,将程序分析与特征获取阶段的内存泄漏特征输入到模型构建阶段的分类器模型中进行检测,判断从o开始的路径中是否存在内存泄漏,得到内存泄漏报告。
-
公开(公告)号:CN108804332B
公开(公告)日:2021-12-17
申请号:CN201810613423.9
申请日:2018-06-14
Applicant: 南京大学
IPC: G06F11/36
Abstract: 本发明公开一种基于机器学习的C程序内存泄漏智能化检测方法,分为三个阶段:模型构建阶段,根据已有的内存泄漏构建两个数据集,分别从两个数据中提取内存泄漏特征,将内存泄漏特征输入机器学习的分类器进行训练,交叉验证,修改分类器类型及参数,选取分类准确率最高的作为分类器模型来检测内存泄漏。程序分析与特征获取阶段,对源程序进行预分析,获取所有的内存分配点o,然后进行指针分析,构建从o开始的VFG(ValueFlowGraph),提取VFG中每条路径对应的内存泄漏特征。缺陷检测与报告阶段,将程序分析与特征获取阶段的内存泄漏特征输入到模型构建阶段的分类器模型中进行检测,判断从o开始的路径中是否存在内存泄漏,得到内存泄漏报告。
-