C/C++程序静态内存泄漏警报自动确认方法
发布时间:2022-11-10 17:18
内存泄漏是C/C++程序的一种常见的、难以发现的缺陷,一直困扰着软件开发者,尤其是针对长时间运行的程序或者系统软件,内存泄漏的后果十分严重.针对内存泄漏的检测,目前主要有静态分析和动态测试两种方法.动态测试实际运行程序具有较大开销,同时依赖测试用例的质量;静态分析技术及自动化工具已被学术界和工业界广泛运用于内存泄漏缺陷检测中,然而由于静态分析采取了保守的策略,其结果往往包含数量巨大的误报,需要通过进一步的人工确认来甄别误报.但人工确认静态分析的结果耗时且容易出错,严重限制了静态分析技术的实用性.提出一种基于混合执行测试的静态内存泄漏警报的自动化确认方法:首先,针对静态分析报告的目标程序中内存泄漏的静态警报,对目标程序进行控制流分析,并计算警报的可达性,形成制导信息;其次,基于警报制导信息对目标程序进行混合执行测试;最后,在混合执行测试过程中,监控追踪内存对象的状态,判定内存泄漏是否发生,对静态警报进行动态确认并分类.实验结果表明:该方法可对静态内存泄漏警报进行有效的分类,显著降低了人工确认的工作量.
【文章页数】:18 页
【文章目录】:
1 静态内存泄漏警报
1.1 形式化定义
1.2 警报分类
2 C/C++程序静态内存泄漏警报自动确认方法
2.1 方法架构
2.2 警报可达性分析
2.3 路径制导的混合执行测试
2.4 警报动态确认
3 工具与评估
3.1 工具实现
3.2 实验对象与设计
3.3 实验数据及分析
3.3.1 实验1
结论1.
结论2.
结论3.
3.3.2 实验2
3.3.3 实验3
3.4 讨论
4 相关工作
4.1 内存泄漏检测
4.2 测试生成方法
4.3 静态分析结果的验证和误报消除
5 总结与展望
【参考文献】:
期刊论文
[1]一种目标制导的混合执行测试方法[J]. 崔展齐,王林章,李宣东. 计算机学报. 2011(06)
本文编号:3704989
【文章页数】:18 页
【文章目录】:
1 静态内存泄漏警报
1.1 形式化定义
1.2 警报分类
2 C/C++程序静态内存泄漏警报自动确认方法
2.1 方法架构
2.2 警报可达性分析
2.3 路径制导的混合执行测试
2.4 警报动态确认
3 工具与评估
3.1 工具实现
3.2 实验对象与设计
3.3 实验数据及分析
3.3.1 实验1
结论1.
结论2.
结论3.
3.3.2 实验2
3.3.3 实验3
3.4 讨论
4 相关工作
4.1 内存泄漏检测
4.2 测试生成方法
4.3 静态分析结果的验证和误报消除
5 总结与展望
【参考文献】:
期刊论文
[1]一种目标制导的混合执行测试方法[J]. 崔展齐,王林章,李宣东. 计算机学报. 2011(06)
本文编号:3704989
本文链接:https://www.wllwen.com/kejilunwen/ruanjiangongchenglunwen/3704989.html