C程序内存泄漏智能化检测方法

作者:朱亚伟; 左志强; 王林章; 李宣东

摘要:内存泄漏在采用显式内存管理机制的C语言中是一种常见的代码缺陷,内存泄漏的检测方法目前主要是静态分析与动态检测.动态检测开销大,且高度依赖测试用例;静态分析目前被学术界和工业界广泛应用,但是存在大量误报,需要人工对检测结果进行确认.内存泄漏静态分析的误报通常是由于对指针、分支语句和全局变量分析的不准确性导致的.提出了一种内存泄漏的智能化检测方法,通过使用机器学习算法学习程序特征与内存泄漏之间的相关性,构建机器学习分类器,并应用机器学习分类器进一步提高内存泄漏静态分析的准确性.首先构建机器学习分类器,然后通过静态分析方法构建从内存分配点开始的SparseValueFlowGraph(SVFG),并从中提取内存泄漏相关特征,再使用规则和机器学习分类器进行内存泄漏的检测.实验结果显示,该方法在分析指针、分支语句和全局变量时是有效的,能够提高内存泄漏检测的准确性,降低内存泄漏检测结果的误报.最后,对未来研究的可行性以及面临的挑战进行了展望.

分类:
  • 期刊
  • >
  • 自然科学与工程技术
  • >
  • 信息科技
  • >
  • 计算机软件及计算机应用
收录:
  • 上海图书馆馆藏
  • CSCD 中国科学引文数据库来源期刊(含扩展版)
  • 知网收录(中)
  • 北大期刊(中国人文社会科学期刊)
  • 维普收录(中)
  • 国家图书馆馆藏
  • 万方收录(中)
  • SA 科学文摘(英)
  • Pж(AJ) 文摘杂志(俄)
  • EI 工程索引(美)
  • JST 日本科学技术振兴机构数据库(日)
  • 统计源期刊(中国科技论文优秀期刊)
关键词:
  • 内存泄漏
  • 内存泄漏检测
  • 静态分析
  • 机器学习
  • 特征提取

注:因版权方要求,不能公开全文,如需全文,请咨询杂志社

期刊名称:软件学报

期刊级别:北大期刊

期刊人气:4911

杂志介绍:
主管单位:中国科学院
主办单位:中国科学院软件研究所;中国计算机学会
出版地方:北京
快捷分类:计算机
国际刊号:1000-9825
国内刊号:11-2560/TP
邮发代号:82-367
创刊时间:1990
发行周期:月刊
期刊开本:B5
下单时间:1-3个月
复合影响因子:2.86
综合影响因子:2.83