节点文献

C/C++程序静态内存泄漏警报自动确认方法

免费订阅

【作者】 李筱周严李孟宸陈园军XU Guo-Qing王林章李宣东

【Author】 LI Xiao;ZHOU Yan;LI Meng-Chen;CHEN Yuan-Jun;XU Guo-Qing;WANG Lin-Zhang;LI Xuan-Dong;State Key Laboratory for Novel Software Technology (Nanjing University);Department of Computer Science and Technology, Nanjing University;Department of Computer Science, University of California;

【机构】 计算机软件新技术国家重点实验室(南京大学)南京大学计算机科学与技术系Department of Computer Science,University of California

【摘要】 内存泄漏是C/C++程序的一种常见的、难以发现的缺陷,一直困扰着软件开发者,尤其是针对长时间运行的程序或者系统软件,内存泄漏的后果十分严重.针对内存泄漏的检测,目前主要有静态分析和动态测试两种方法.动态测试实际运行程序具有较大开销,同时依赖测试用例的质量;静态分析技术及自动化工具已被学术界和工业界广泛运用于内存泄漏缺陷检测中,然而由于静态分析采取了保守的策略,其结果往往包含数量巨大的误报,需要通过进一步的人工确认来甄别误报.但人工确认静态分析的结果耗时且容易出错,严重限制了静态分析技术的实用性.提出一种基于混合执行测试的静态内存泄漏警报的自动化确认方法:首先,针对静态分析报告的目标程序中内存泄漏的静态警报,对目标程序进行控制流分析,并计算警报的可达性,形成制导信息;其次,基于警报制导信息对目标程序进行混合执行测试;最后,在混合执行测试过程中,监控追踪内存对象的状态,判定内存泄漏是否发生,对静态警报进行动态确认并分类.实验结果表明:该方法可对静态内存泄漏警报进行有效的分类,显著降低了人工确认的工作量.

【关键词】 内存泄漏静态分析警报混合执行测试确认分类
【基金】 国家自然科学基金(61202148,61332015,61373078,61272245);国家重点研发计划(2016YFB1000802)~~
【所属期刊栏目】 程序设计语言与系统前沿专题 (2017年04期)
  • 【DOI】10.13328/j.cnki.jos.005189
  • 【分类号】TP311.53
  • 【被引频次】4
  • 【下载频次】212
节点文献中: 

本文链接的文献网络图示:

浏览历史:
下载历史: