首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到19条相似文献,搜索用时 125 毫秒
1.
Java应用程序中大量使用动态内存。Java程序运行过程中会自动对不可达的动态内存进行回收,但不能及时地对应用程序中可达但不活跃的动态内存进行回收,从而造成内存泄漏。为有效地检测内存泄漏,提出了采用双向推导进行内存泄漏检测的方法,在推导的过程中利用分离逻辑理论对应用程序中的动态内存进行分析,确定到达程序中每条语句的可达的动态内存和活跃的动态内存,辅助完成动态内存泄漏的检测。  相似文献   

2.
内存泄漏故障是一个程序员所必须关心的问题之一。通过对内存泄漏及其相关检测技术的研究,提出面向类型的动态内存泄漏检测的概念,使泄漏检测具有较高的实时性,大大降低由于内存泄漏检测而导致CPU占用时间的急剧变化值,并在Linux下验证了算法的真实有效性。  相似文献   

3.
为了高效地管理内存,防止内存泄漏、越界访问等问题的出现,在分析传统动态内存管理机制的基础上,提出了一种基于Windows虚拟内存管理的高效动态内存管理机制.通过创建内存管理器来维护虚拟地址空间和处理内存申请和释放请求,改进了传统动态内存分配与回收算法,并在VC++6.0开发平台上实现了该动态内存管理机制.测试结果分析表明,该方法有效降低了申请与释放内存的时间耗费,减少了内存碎片的产生,提高了动态内存管理效率.  相似文献   

4.
分析学生学习C语言动态内存分配过程中容易忽略的一些问题,探讨通过实验,展开关于动态内存分配相关内容,提出以实验的形式,在Intel-Pin平台下通过函数插桩,得到被测程序的一些信息,然后将其输出到指定文件,通过分析输出文件,得到被测程序是否存在内存泄漏。  相似文献   

5.
Linux平台下基于源代码插装的动态内存检测   总被引:1,自引:0,他引:1  
在C/C++语言程序中.指针的使用使代码灵活、简便.但所带来的类似内存泄漏、内存写溢出等的内存使用的错误却很难分析和消除.针对这些容易出现的内存使用错误.提出了Linux平台下一种基于源文件信息提取和源代码插装的动态内存检测方法,设计实现了一个动态内存检测模块DDMEM.可以检测源代码的内存泄漏、内存写溢出、释放野指针和内存管理函数的不匹配等问题.给出了写溢出错误的一个实例检测,以验证方法的有效性.  相似文献   

6.
C/C 语言中的动态内存管理机制自由且灵活,但动态内存的使用容易引入内存泄漏,导致系统性能降低甚至系统崩溃。为了更加有效的检测内存泄漏,提出了一个基于有界模型检测技术的C/C 程序内存泄漏检测方案MLD-CBMC。该方案以C/C 程序文件为输入,利用有界模型检测技术,对程序进行展开处理,加入内存泄漏性质,并利用可满足性模理论(SMT)对程序约束和性质组成的验证条件编码,使用SMT求解器对验证条件求解,将检测内存泄漏问题转换为求解可满足性问题,实现C/C 程序内存泄漏的检测。通过实验验证了方案的有效性,并与其他有界模型检测工具进行对比实验,实验证明方案对内存泄漏的检测能力更强。  相似文献   

7.
C程序内存泄漏智能化检测方法   总被引:1,自引:1,他引:0  
内存泄漏在采用显式内存管理机制的C语言中是一种常见的代码缺陷,内存泄漏的检测方法目前主要是静态分析与动态检测.动态检测开销大,且高度依赖测试用例;静态分析目前被学术界和工业界广泛应用,但是存在大量误报,需要人工对检测结果进行确认.内存泄漏静态分析的误报通常是由于对指针、分支语句和全局变量分析的不准确性导致的.提出了一种内存泄漏的智能化检测方法,通过使用机器学习算法学习程序特征与内存泄漏之间的相关性,构建机器学习分类器,并应用机器学习分类器进一步提高内存泄漏静态分析的准确性.首先构建机器学习分类器,然后通过静态分析方法构建从内存分配点开始的Sparse Value Flow Graph(SVFG),并从中提取内存泄漏相关特征,再使用规则和机器学习分类器进行内存泄漏的检测.实验结果显示,该方法在分析指针、分支语句和全局变量时是有效的,能够提高内存泄漏检测的准确性,降低内存泄漏检测结果的误报.最后,对未来研究的可行性以及面临的挑战进行了展望.  相似文献   

8.
一个动态内存管理模块的实现   总被引:2,自引:0,他引:2  
介绍一个动态内存管理模块,可以有效地检测C程序中内存泄漏和写内存越界等错误,适用于具有标准C语言开发环境的各种平台.  相似文献   

9.
Linux下面向函数的动态内存泄漏监测   总被引:4,自引:1,他引:4  
动态内存泄漏是一个严重的编程错误,可以导致程序的错误行为。由于定位内存泄漏发生的位置是困难的,一些工具已被开发出来辅助程序员找出内存泄漏。论文提出了面向函数的动态内存泄漏监测的概念,阐述了它的必要性和有效性,并给出了在Linux下的实现。  相似文献   

10.
针对可执行文件的动态内存管理容易产生的错误,设计并实现了一个Linux 平台下针对C/C++语言的动态内存检测模块DDMEM,使用自定义的ddmemMalloc()函数改写动态分配函数malloc(),实现了一个共享库ddmem.so,可以检测内存泄漏、内存写溢出、释放野指针和内存管理函数的不匹配等问题。给出了函数不匹配的实例检测以验证方法的有效性。并与同类有代表性的检测工具memwatch进行了性能比较,证明该检测模块比memwatch整体更优。  相似文献   

11.
内存泄漏是软件开发中的一个难以定位和修正的严重错误。在大多数情况下,动态内存的有效域虽未明确写出,但仍是程序的局部;且程序动态运行的轨迹在一定程度上反映程序的静态性质。基于以上观察,开发了在面向函数定位框架中嵌入动态分析的内存泄漏监测新方法。新方法中,先建立程序的函数动态调用树,其中包含程序分配释放内存的信息,再在调用树中总结程序的静态性质,为内存泄漏定位提供有价值的信息。该文用两个实例展示这个方法的有效性。  相似文献   

12.
WINCE系统内存配置较小,嵌入式软件如果出现内存泄露问题,将会导致系统的可用内存不足,甚至出现系统崩溃。为此针对WINCE操作系统内存的管理和应用,通过引入一个在实时更新动态图的过程中出现内存泄露的案例,阐述了关于内存管理和内存应用的重要知识点,包括内存模型和内存分配方式,分析了在该案例中出现内存泄露的原因,提出了与案例中出现的内存泄露相似问题的解决方法,并针对一般情况下如何防止内存泄露作了简单介绍,最后详细阐述了案例中为了优化内存所做的工作,对编程者有很好的指导作用。  相似文献   

13.
Symbian操作系统中,使用TRAP机制捕获系统异常,控制内存分配过程。清除栈结构可以保证当发生异常产生的情况下,系统不会出现内存泄露。对自定义类型的两段构造方法,可以修改C++默认的构造规则,保证内存安全。  相似文献   

14.
论文描述了一种在SunSolaris7环境下,由于ucb库函数fopen造成的隐蔽的内存泄漏现象,提出了检测的方法和解决、替代方案。在重现该内存泄漏的基础上,作者给出了结论和相应的建议。  相似文献   

15.
葛瑶  李晓风  孔德光 《计算机工程》2008,34(16):159-161
设计与实现一个轻量级的堆内存泄漏检测工具,针对使用C++编码的开源代码,通过重载new, delete运算符,动态跟踪程序在执行过程中堆内存块的分配释放情况,在程序运行结束时给出内存泄露的检测结果。实现时采用红黑树管理所分配的堆内存,理论推导和实验表明其具有较高的效率。  相似文献   

16.
虚拟计算环境中系统性能的稳定性问题研究对于云计算相关技术的研究和应用具有重要的理论和实际意义.长时间不停机系统的内存泄漏可能给实际应用带来严重后果,在虚拟计算环境中检测运行时内存泄漏是一个极具挑战性的问题.针对该问题,对内存泄漏的现象进行了分类.基于Xen虚拟机构建并实现了一种面向Xen虚拟计算环境的虚拟化内存泄漏检测(virtualization memory leak detection, VMLD)的方法,提出了相应的检测规则.通过修改虚拟机管理器,设计超级调用,实现了内部缓冲区维护、控制、拦截、监视等模块.实验结果表明,VMLD方法能有效地检测出运行时内存泄漏,并且具有较好的性能.  相似文献   

17.
C语言作为安全关键软件的主要实现语言,其存在的内存泄漏缺陷具有很高的隐蔽性和危害性,如何保证内存泄漏检测的准确性和高效性是一大挑战。静态分析具有直接分析源码、能够较早发现软件错误,从而降低修复代价的优势。基于静态分析技术,提出了一种基于路径敏感的值流分析的内存泄漏检测方法,首先进行指针分析生成精确指向信息;然后基于指向信息构建值流约束,执行可达性分析以识别程序中的泄漏路径;最后借助指针与内存地址的有效生命周期进行验证。在典型基准C程序上的实验结果分析表明,本文方法与现有技术相比在效率和精度上都具有一定优势。  相似文献   

18.
内存泄漏是软件系统中常见的一种错误,会持续消耗内存,致使系统运行效率下降,甚至导致系统崩溃。内存泄漏的检测工具主要可以分为两类:一类是使用基于程序扫描分析技术的静态工具;另一类则是监视实时内存分配状态进行判别的动态工具。如何评估工具检测内存泄漏的能力,相关的标准并不明确。通过对内存泄漏的认识与了解,对相关工具能力进行了调研与分析,提出了一个内存泄漏工具的评估标准。  相似文献   

19.
雷达  曾庆凯 《计算机应用研究》2011,28(11):4315-4319
为了更加精确高效地分析源代码中的内存泄露,针对内存泄露属性分析建模,通过多种途径对现有的方法进行改进。使用函数摘要的方法提高分析效率,并使用对库函数建模、检测虚假路径的方法降低误报,同时尝试检测动态内存通过参数逃逸的情况。在crystal基础上实现了静态分析内存泄露的工具SMD,取得了良好的实验结果。  相似文献   

设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号