内存泄漏论文_姬秀娟,孙晓卉,许静

导读:本文包含了内存泄漏论文开题报告文献综述、选题提纲参考文献及外文文献翻译,主要关键词:内存,静态,检测技术,机器,遍历,警报,嵌入式。

内存泄漏论文文献综述

姬秀娟,孙晓卉,许静[1](2019)在《基于复杂控制流的源代码内存泄漏静态检测》一文中研究指出C/C++源代码因其手动分配堆内存的特点,造成大量内存泄漏的问题。对于多分支的控制流结构,其内存分配点和释放点具有不确定性,使得内存泄漏检测的难度增大。针对这种复杂控制流中的内存泄漏问题,定义了一种基于路径抽象的内存泄漏分类方法,提出了一种基于投影的模型检测静态分析算法。该算法采用投影技术将原控制流图进行规约和简化;同时,在进行函数间的分析时,融合了Cloning Expands the ICFG和Expanded Supergraph两种方法,构建了一个函数间的内存定义-使用控制流图(Interprocedural Memory Control Flow Graph,IMCFG)。实验表明,该检测方法在有效性和准确率方面明显取得了较好的结果。(本文来源于《计算机科学》期刊2019年S2期)

匡海燕,张玉中,刘仁千,李国杰,谷威[2](2019)在《基于Qt的软件内存泄漏静态检测技术研究》一文中研究指出Q_t继承了C++语言动态分配内存机制,保证了开发人员能根据实际需要灵活地使用内存,同时Q_t也不可避免的要面对"内存泄漏"这个严重威胁软件安全的问题,虽然Q_t采取了半自动化内存管理机制等措施,但不能从根本上解决问题;对此,提出了一种基于Q_t的软件内存泄漏静态检测方法,该方法针对Q_t的半自动化内存管理机制,通过静态分析被测对象中分配内存的代码识别出是否属于Q_t自动管理的范围,从而准确地检测出内存泄漏和内存重复释放问题;并基于该检测方法设计了一种Q_t内存泄漏自动检测工具,该工具能很大程度上提高测试效率。(本文来源于《计算机测量与控制》期刊2019年07期)

朱亚伟[3](2019)在《C程序内存泄漏的智能化检测方法》一文中研究指出内存泄漏是C语言程序中一种常见的缺陷,会严重影响程序的性能和安全性,其根本原因是开发人员管理内存时的人为疏忽。目前内存泄漏的主要检测方法是静态分析与动态测试。动态测试需要对程序进行插装或者外部监控并实际执行程序,其发现缺陷的能力高度依赖于测试用例,并且需要较高的运行开销;静态分析技术无需实际执行程序,能快速发现缺陷,因此被学术界和工业界广泛使用,但由于庞大的程序规模和复杂的程序结构,静态分析的能力不足可能导致漏报,更多情况下,因为静态分析采用的保守策略往往会导致报告中包含大量误报。误报目前主要是依靠有经验的专业人员人工对警报及关联的程序深度理解后进行确认,费时费力。机器学习技术在软件工程领域对经验知识的挖掘和统计取得进展,因此本文研究面向C语言程序内存泄漏的智能化检测方法,利用机器学习技术挖掘静态分析警报人工确认的历史数据中的经验知识,归纳内存泄漏模式以及静态分析误报原因,用于对静态分析方法获取的内存泄漏特征进行分类,从而优化内存泄漏检测过程以及警报生成质量。本文的主要工作如下:1.构建了内存泄漏检测模型。基于对C语言程序内存泄漏的机理分析,确定内存泄漏特征;基于静态分析警报人工确认的历史数据,利用机器学习技术挖掘警报确认的经验知识,归纳内存泄漏模式以及静态分析误报原因,从而构建了内存泄漏检测模型,并对模型进行了评估和验证。2.提出了内存泄漏的智能化检测方法。本文利用内存泄漏特征定义了基于内存泄漏检测模型的内存泄漏判定规则,然后通过静态分析方法提取待测程序的内存泄漏特征,使用内存泄漏判定规则,直接给出待测程序的内存泄漏判定结果或者输入内存泄漏检测模型进行分类。在此基础上,论文针对其他静态分析工具报告的内存泄漏警报,对警报关联的程序进行二次分析,并使用内存泄漏智能化检测方法对警报进行确认与分类。3.基于上述工作,实现了内存泄漏智能化检测方法的原型工具,并开展了实验研究。基于scikit-learn构建了内存泄漏检测模型,并在开源框架上实现了原型工具。实验中,我们在SPEC2000和Siemens等基准程序集中选取了 16个C程序,并使用原型工具进行了实验,实验结果表明,论文方法能够有效减少静态分析的误报,针对静态分析警报的分类也可以有效地降低需要人工验证的工作量。(本文来源于《南京大学》期刊2019-05-28)

朱亚伟,左志强,王林章,李宣东[4](2019)在《C程序内存泄漏智能化检测方法》一文中研究指出内存泄漏在采用显式内存管理机制的C语言中是一种常见的代码缺陷,内存泄漏的检测方法目前主要是静态分析与动态检测.动态检测开销大,且高度依赖测试用例;静态分析目前被学术界和工业界广泛应用,但是存在大量误报,需要人工对检测结果进行确认.内存泄漏静态分析的误报通常是由于对指针、分支语句和全局变量分析的不准确性导致的.提出了一种内存泄漏的智能化检测方法,通过使用机器学习算法学习程序特征与内存泄漏之间的相关性,构建机器学习分类器,并应用机器学习分类器进一步提高内存泄漏静态分析的准确性.首先构建机器学习分类器,然后通过静态分析方法构建从内存分配点开始的SparseValueFlowGraph(SVFG),并从中提取内存泄漏相关特征,再使用规则和机器学习分类器进行内存泄漏的检测.实验结果显示,该方法在分析指针、分支语句和全局变量时是有效的,能够提高内存泄漏检测的准确性,降低内存泄漏检测结果的误报.最后,对未来研究的可行性以及面临的挑战进行了展望.(本文来源于《软件学报》期刊2019年05期)

韩静,彭双和,赵佳利[5](2019)在《动态内存分配及内存泄漏相关概念的案例教学》一文中研究指出分析学生学习C语言动态内存分配过程中容易忽略的一些问题,探讨通过实验,展开关于动态内存分配相关内容,提出以实验的形式,在Intel-Pin平台下通过函数插桩,得到被测程序的一些信息,然后将其输出到指定文件,通过分析输出文件,得到被测程序是否存在内存泄漏。(本文来源于《计算机教育》期刊2019年01期)

魏可源[6](2018)在《深入分析ThreadLocal内存泄漏问题》一文中研究指出ThreadLocal的作用是提供线程内的局部变量,这种变量在线程的生命周期内起作用,减少同一个线程内多个函数或者组件之间一些公共变量传递的复杂度。但是如果滥用ThreadLocal,就可能会导致内存泄漏。下面,我们将围绕叁个方面来分析ThreadLocal内存泄漏的问题:(本文来源于《计算机与网络》期刊2018年21期)

汪明晔[7](2018)在《内存泄漏检测方法研究综述》一文中研究指出内存泄漏是一个长期困扰软件开发人员的问题,学术界针对该问题进行了长期的研究和讨论。当前定位内存泄漏位置的方法主要有静态检测、动态检测、静态检测和动态检测相结合的叁种方法。本文将介绍内存泄漏的原因,分别阐述上述叁种内存泄漏检测的原理和方法,分析它们各自的优势和不足,最后指明内存泄漏检测技术未来的发展方向。(本文来源于《电脑知识与技术》期刊2018年28期)

刘小燕,闫振宇,韩啸,杨坤,陈献庆[8](2018)在《嵌入式装置内存泄漏检测系统的设计与实现》一文中研究指出随着继电保护领域嵌入式装置的程序复杂度日益增加,极易出现内存泄漏问题;如果不及时发现并解决,不仅将浪费大量宝贵的内存资源,还会导致系统崩溃和装置死机,造成不可估量的损失。为了解决这一问题,本文提出了一种面向嵌入式装置的远程可视化内存泄漏检测系统,在本系统中,工具端通过内存泄漏监视界面,远程启动内存泄漏检测系统,即通过动态探针技术,将"动态链接库"中的监视模块插入到被监视进程的地址空间,从而让被监视进程自身具有内存泄漏检测功能,代理服务程序统一处理监视模块收集到的内存信息,同时,将处理结果发送给工具端,工具端经过内存管理模块处理将内存信息实时的可视化到界面上。最后,通过可靠性试验和时间性能试验,验证了该方法的可行性。(本文来源于《电子设计工程》期刊2018年08期)

何群芳,时招军[9](2018)在《基于Android的内存泄漏与溢出研究》一文中研究指出内存的泄漏与溢出是在进行Android开发时最常见且棘手的问题之一。为了提高Android开发的质量和效率,总结了Android的内存泄漏与溢出的常见类型和解决方法。内存泄漏的常见类型有集合类泄漏、传入Activity的Context造成的内存泄漏、非静态内部类创建静态实例和线程造成的内存泄漏等;内存溢出的常见类型有由强引用造成的内存溢出、由大量图片显示导致的内存溢出、从数据库中取出大量数据造成的内存溢出、代码中存在死循环或循环产生过多重复对象实体造成的内存溢出等,并提出了由图片造成的内存溢出的新的解决方法。(本文来源于《软件导刊》期刊2018年02期)

张玲,李艳,胡术,李璞,潘倩[10](2017)在《一种基于Qt的系统内存泄漏检测方法》一文中研究指出在软件开发中,用户界面程序提高了软件系统易操作性、用户体验度等非功能性需求。长时间、复杂流程的大型软件系统对人机界面的稳定性则提出了较高要求,不能出现内存泄漏、不能中途异常退出。针对使用图形用户界面应用程序框架Qt开发的用户界面程序的内存泄漏问题,提出了一种基于Qt的人机界面程序的源码静态内存检测方法。该方法针对Qt控件对象是否存在父控件的两种内存泄漏情况,识别所需检查的目标对象是否为Qt控件类对象,是否存在内存泄漏。该方法提供的Qt控件对象内存检测能力可准确识别目标对象是否存在内存泄漏、手工删除错误等问题,便于开发人员及时检查错误,修正缺陷,减少程序运行中的内存泄漏问题,以满足大型系统的软件质量需求。(本文来源于《计算机技术与发展》期刊2017年12期)

内存泄漏论文开题报告

(1)论文研究背景及目的

此处内容要求:

首先简单简介论文所研究问题的基本概念和背景,再而简单明了地指出论文所要研究解决的具体问题,并提出你的论文准备的观点或解决方法。

写法范例:

Q_t继承了C++语言动态分配内存机制,保证了开发人员能根据实际需要灵活地使用内存,同时Q_t也不可避免的要面对"内存泄漏"这个严重威胁软件安全的问题,虽然Q_t采取了半自动化内存管理机制等措施,但不能从根本上解决问题;对此,提出了一种基于Q_t的软件内存泄漏静态检测方法,该方法针对Q_t的半自动化内存管理机制,通过静态分析被测对象中分配内存的代码识别出是否属于Q_t自动管理的范围,从而准确地检测出内存泄漏和内存重复释放问题;并基于该检测方法设计了一种Q_t内存泄漏自动检测工具,该工具能很大程度上提高测试效率。

(2)本文研究方法

调查法:该方法是有目的、有系统的搜集有关研究对象的具体信息。

观察法:用自己的感官和辅助工具直接观察研究对象从而得到有关信息。

实验法:通过主支变革、控制研究对象来发现与确认事物间的因果关系。

文献研究法:通过调查文献来获得资料,从而全面的、正确的了解掌握研究方法。

实证研究法:依据现有的科学理论和实践的需要提出设计。

定性分析法:对研究对象进行“质”的方面的研究,这个方法需要计算的数据较少。

定量分析法:通过具体的数字,使人们对研究对象的认识进一步精确化。

跨学科研究法:运用多学科的理论、方法和成果从整体上对某一课题进行研究。

功能分析法:这是社会科学用来分析社会现象的一种方法,从某一功能出发研究多个方面的影响。

模拟法:通过创设一个与原型相似的模型来间接研究原型某种特性的一种形容方法。

内存泄漏论文参考文献

[1].姬秀娟,孙晓卉,许静.基于复杂控制流的源代码内存泄漏静态检测[J].计算机科学.2019

[2].匡海燕,张玉中,刘仁千,李国杰,谷威.基于Qt的软件内存泄漏静态检测技术研究[J].计算机测量与控制.2019

[3].朱亚伟.C程序内存泄漏的智能化检测方法[D].南京大学.2019

[4].朱亚伟,左志强,王林章,李宣东.C程序内存泄漏智能化检测方法[J].软件学报.2019

[5].韩静,彭双和,赵佳利.动态内存分配及内存泄漏相关概念的案例教学[J].计算机教育.2019

[6].魏可源.深入分析ThreadLocal内存泄漏问题[J].计算机与网络.2018

[7].汪明晔.内存泄漏检测方法研究综述[J].电脑知识与技术.2018

[8].刘小燕,闫振宇,韩啸,杨坤,陈献庆.嵌入式装置内存泄漏检测系统的设计与实现[J].电子设计工程.2018

[9].何群芳,时招军.基于Android的内存泄漏与溢出研究[J].软件导刊.2018

[10].张玲,李艳,胡术,李璞,潘倩.一种基于Qt的系统内存泄漏检测方法[J].计算机技术与发展.2017

论文知识图

1 内存泄漏范围示意图C++内存泄漏自检测方法的对象行...导入测试结果生成的内存泄漏检...注入内存泄漏错误情况内存泄漏检测信息选项(2)特殊内存泄

标签:;  ;  ;  ;  ;  ;  ;  

内存泄漏论文_姬秀娟,孙晓卉,许静
下载Doc文档

猜你喜欢