基本信息来源于合作网站,原文需代理用户跳转至来源网站获取       
摘要:
内存泄漏在采用显式内存管理机制的C语言中是一种常见的代码缺陷,内存泄漏的检测方法目前主要是静态分析与动态检测.动态检测开销大,且高度依赖测试用例;静态分析目前被学术界和工业界广泛应用,但是存在大量误报,需要人工对检测结果进行确认.内存泄漏静态分析的误报通常是由于对指针、分支语句和全局变量分析的不准确性导致的.提出了一种内存泄漏的智能化检测方法,通过使用机器学习算法学习程序特征与内存泄漏之间的相关性,构建机器学习分类器,并应用机器学习分类器进一步提高内存泄漏静态分析的准确性.首先构建机器学习分类器,然后通过静态分析方法构建从内存分配点开始的Sparse Value Flow Graph(SVFG),并从中提取内存泄漏相关特征,再使用规则和机器学习分类器进行内存泄漏的检测.实验结果显示,该方法在分析指针、分支语句和全局变量时是有效的,能够提高内存泄漏检测的准确性,降低内存泄漏检测结果的误报.最后,对未来研究的可行性以及面临的挑战进行了展望.
推荐文章
Java程序内存泄漏综述
内存泄漏
垃圾回收
内存低效
Java
基于有界模型检测的C/C++程序内存泄露检测
C /C ++程序
内存泄露
有界模型检测
可满足性模理论
基于动态插桩的C/C++内存泄漏检测工具的设计与实现
内存泄漏
动态二进制插桩
生命周期
MemGuard原型
Valgrind
基于Qt的软件内存泄漏静态检测技术研究
Qt内存管理机制
内存泄漏
内存重复释放
静态检测技术
内容分析
关键词云
关键词热度
相关文献总数  
(/次)
(/年)
文献信息
篇名 C程序内存泄漏智能化检测方法
来源期刊 软件学报 学科 工学
关键词 内存泄漏 内存泄漏检测 静态分析 机器学习 特征提取
年,卷(期) 2019,(5) 所属期刊栏目 智能化软件新技术专刊
研究方向 页码范围 1330-1341
页数 12页 分类号 TP311
字数 10383字 语种 中文
DOI 10.13328/j.cnki.jos.005715
五维指标
传播情况
(/次)
(/年)
引文网络
引文网络
二级参考文献  (0)
共引文献  (0)
参考文献  (5)
节点文献
引证文献  (1)
同被引文献  (4)
二级引证文献  (0)
1991(1)
  • 参考文献(1)
  • 二级参考文献(0)
1995(1)
  • 参考文献(1)
  • 二级参考文献(0)
2001(1)
  • 参考文献(1)
  • 二级参考文献(0)
2003(1)
  • 参考文献(1)
  • 二级参考文献(0)
2014(1)
  • 参考文献(1)
  • 二级参考文献(0)
2019(0)
  • 参考文献(0)
  • 二级参考文献(0)
  • 引证文献(0)
  • 二级引证文献(0)
2020(1)
  • 引证文献(1)
  • 二级引证文献(0)
研究主题发展历程
节点文献
内存泄漏
内存泄漏检测
静态分析
机器学习
特征提取
研究起点
研究来源
研究分支
研究去脉
引文网络交叉学科
相关学者/机构
期刊影响力
软件学报
月刊
1000-9825
11-2560/TP
16开
北京8718信箱
82-367
1990
chi
出版文献量(篇)
5820
总下载数(次)
36
总被引数(次)
226394
相关基金
国家自然科学基金
英文译名:the National Natural Science Foundation of China
官方网址:http://www.nsfc.gov.cn/
项目类型:青年科学基金项目(面上项目)
学科类型:数理科学
论文1v1指导