基于Android的内存泄露检测方法研究

来源 :哈尔滨工程大学 | 被引量 : 0次 | 上传用户:zzjkan
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
根据AppFigures统计数据表明,2014年谷歌应用商店的应用和开发者数量,首次双双超过苹果应用商店,谷歌应用商店应用总量已达143万款。在近几年内,Android的市场份额持续走高。但是,许多Android应用程序在实际应用过程中遭受内存泄露问题的困扰。应用程序的内存泄露是一个逐渐累积的过程,如果不能及时发现将导致严重后果,比如应用程序OOM崩溃,这将给使用者带来巨大的损失。针对目前Android应用程序内存泄露检测方法的研究现状,结合Android应用程序中两种主要内存泄露机制:Activity缺陷;资源对象未关闭缺陷,文章中提出了一个Android内存泄露检测模型:Q-R模型。“Q”模型通过对程序中的引用类型进行分析可以识别Activity缺陷代码,而“R”模型通过使用memory_rise内存增长模型可以识别资源对象未关闭导致的内存缺陷。Q-R模型中使用了三种关键技术:关键词匹配;依赖识别;指向识别。利用这三种关键技术可以解决识别过程中的关键词特征匹配、依赖指向分析、上下文关系分析等问题。而后,利用Q-R模型,本文设计实现了基于Q-R模型的SneakFinder漏洞检测系统,SneakFinder漏洞检测系统有三个核心模块:GapMonitor监测模块,用于实时监测内存泄露的发生;Detail Analyzer分析模块,分析泄露类型,得出关于泄露点的详细信息;Feedback回馈模块,用于将检测结果回馈给用户。最后,使用SneakFinder漏洞检测系统将Q-R模型的理论与实际结合起来,在PC端和Android移动终端进行实验,测试SneakFinder是否能及时有效的汇报系统中的内存泄露问题,并以正确率、误报率和漏报率作为评价标准,对基于Q-R模型的Android内存泄露检测系统SneakFinder与Android内存分析工具MAT进行比较实验。实验结果表明,基于Q-R模型的SneakFinder泄露检测系统可以有效的检测出Android应用程序的内存泄露情况,SneakFinder不仅可以检测出应用程序中已知的内存漏洞,在检测某些应用程序时,还可以检测出尚未被测试开发者发现的内存漏洞,并能有效降低检测误报率与漏报率,提高检测效率。实验证明,基于Q-R模型的SneakFinder泄露检测系统能够在Android应用程序开发过程中提供很大的帮助与支持。
其他文献
党的十七大首次提出了生态文明建.设。党的十八大报告在十七大基础上.提出了五位一体建设.并把生态文明建设放在突出地位。要把生态文明建设“融人经济建设、政治建设、文化建设
本文结合新情境问题 ,指出了加强理论联系实际教学的方法和途径 ,提出了强化方法教育和提高建模能力的措施 ,阐明了培养学生的创造意识和创新能力的教学思路 . This article
概述了我国槟榔发展状况;并就加强琼台湘三地合作,提升我国槟榔产业发展水平提出建议。
<正>陈天民先生对我的“四川省农作物生产力的地理分布”一文的批评,完全是正确的。我这篇文章在观点和方法等方面,都犯了原则性的错误。 首先,我混淆了英文“productivity”
<正>《中共中央关于全面深化改革若干重大问题的决定》(以下简称《决定》)指出,让一切劳动、知识、技术、管理、资本的活力竞相迸发,让一切创造社会财富的源泉充分涌流,让发
上海的世博会让今年的夏天更加炎热。与本次世博关于城市和美好生活的主题相关,讨论未来城市发展道路的各类学术会议也接二连三召开。世博会开幕不久,当代文化研究网的“热风
为含多种分布式电源的微网系统配置适当容量的储能,可有效提高微网供电的可靠性和灵活性。针对风光互补独立微网系统,考虑储能设备的运行特性对其循环使用寿命的影响,对微网
牡蛎壳是沿海地区常见的废弃物,如何将其“变废为宝”、提升利用价值已引起国内外科研工作者的关注。通过综述近年来牡蛎壳作为吸附材料的研究现状,介绍牡蛎壳材料在吸附重金
<正>批判《武训传》,报社突然领受任务新中国建设在开国岁月的凯歌中行进,《人民日报》渐领国内舆论大潮。然而潮水汹涌,也会泥沙俱下,党的机关报在引领舆论进程中也会飞溅出
从2007年月1月1日起,新的(《企业财务通则》(以下简称“新的(《通则》”)在国有及国有控股企业中正式施行,其他企业可以参照执行。新的(《通则》将原来在“应付福利费”科目中列支的