首页> 中文学位 >程序设计语言中动态内存管理故障测试模型的研究
【6h】

程序设计语言中动态内存管理故障测试模型的研究

代理获取

目录

文摘

英文文摘

声明

第1章绪论

1.1引言

1.2软件测试技术介绍

1.3本课题的研究内容

第2章动态内存错误导致系统崩溃的故障分析

2.1内存释放异常

2.2不完整的构造函数定义

2.3内存泄露

2.4空指针引用

2.5动态内存未分配的非法访问

2.6赋值运算符的非法使用

第3章别名近似算法研究

3.1问题引入

3.2相关概念的描述

3.3可能的别名近似算法

3.4相关研究及算法结论

第4章一个基于别名分析的内存泄漏检测算法

4.1影响内存泄漏错误的操作

4.2别名集合的计算

4.3条件判断对别名分析的影响

4.4相关算法的研究结论

第5章结束语

致谢

参考文献

攻读学位期间发表的学术论文

展开▼

摘要

随着信息技术的发展,软件的规模小断扩大,如何保证和提高软件质量成为软件界最为关心的问题之一。软件测试作为保证软件质量的关键技术之一,能够有效地发现软件中的故障。据统计,在软件开发成本中,软件测试的工作量往往占软件开发总工作量的40%以上。对于某些安全关键的软件,其测试费用甚至高达所有其它软件工程阶段费用总和的三到五倍。因而,提高软件测试的有效性和测试效率、降低软件开发成本已成为软件工程师迫切需要解决的任务之一。 软件测试方法分为两种:动态方法和静态方法。两者的区别在于是否需要执行程序。需要执行程序的测试方法称为动态方法,不需要执行程序的为静态方法。动态方法的主要缺点是只能依靠运行特定测试用例来检测故障,因而小能检测所有故障,只能检测测试用例覆盖到的故障。此外,动态测试工具的执行开销也相当高,有时是不可接受的。静态方法不需要执行程序,而是对源代码进行分析,从而找出潜在的故障。该方法没有执行开销,但要做大量的分析工作。静态分析的精确度取决于对程序抽象语义的表达。 本文比较系统地分析了C++中几种典型的能导致系统崩溃的动态内存错误,提出了一种面向故障的静态检测方法,由于动态内存错误检测中不可避免地涉及到别名问题,因此本文深入研究了别名近似算法。然后以内存泄漏故障为研究对象,提出了一个基于别名分析的内存泄漏检测方法。最后,给出了该算法的实测结果。

著录项

相似文献

  • 中文文献
  • 外文文献
  • 专利
代理获取

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号