论文部分内容阅读
随着软件规模和成本的不断增大,如何保证软件的可靠性越来越成为软件开发过程中倍受关注的话题。软件测试尤其是静态测试作为保证软件可靠性的一个有效途径在近年来得到了快速发展。其中基于缺陷模式的缺陷检测系统的开发,更是在一定程度上实现自动化测试功能,节省了大量的人工成本。通过对大量实验数据的分析,本文提出了C++类成员内存泄漏的缺陷模式。众所周知,内存泄漏的缺陷很难通过静态分析方法检测却又普遍存在。目前很多学者针对内存泄漏的缺陷提出了多种相关的检测方法,但是大多只是以函数为基础进行的检测,忽略了类的继承关系中可能存在内存泄漏缺陷的现象。本文在前人研究的基础上,从类继承的角度提出了C++类成员内存泄漏的缺陷模式并设计出相应的检测算法。本文通过对C++类特性的分析,总结出四种类型的类成员内存泄漏缺陷模式。通过举例分析各模式的特点和产生原因,同时结合使用函数摘要技术,设计出类成员内存泄漏缺陷的检测算法。经过实验验证,本文所提出的类成员内存泄漏检测算法能够有效检测出代码中存在的内存泄漏缺陷。