Android软件内存泄漏测试技术研究

来源 :南京航空航天大学 | 被引量 : 0次 | 上传用户:zxpwode10
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着移动设备的普及,越来越多的移动应用被开发。这些移动软件运行在内存有限的设备上,尽管Android系统中存在垃圾回收机制,但Android应用程序仍可能存在内存泄漏问题。内存泄漏问题会导致一些负面的用户体验,例如程序速度变慢,甚至崩溃等。目前,对Android应用内存泄漏问题的研究主要关注发现泄漏现象后如何找出泄漏原因,对于第一步如何发现泄漏现象,相关研究较为缺乏,缺少成熟有效的解决方案。软件测试技术是利用最多的故障发现技术,然而,传统的测试技术并不能直接用于内存泄漏现象的发现,使用这些技术可能会耗费大量的精力在检测泄漏无关的测试执行上,这大大降低了泄漏发现的效率。为了弥补现有技术的不足,本文对Android应用内存泄漏的发现技术进行了研究。首先,提出了一种基于内存泄漏预测模型的测试用例集优化、选择方法,找到集合中疑似存在内存泄漏的测试用例,优先测试,从而提高测试效率。此外,利用所提出的内存泄漏预测模型对应用的GUI事件操作进行评分,基于评分重组高风险的事件操作,生成易暴露泄漏的测试用例,从而构造面向泄漏检测的增强测试用例集。具体工作包括:(1)对存在内存泄漏的应用的代码进行了分析,提出了内存泄漏测试执行的代码级特征。将代码特征抽象为内存特征向量,从而为内存预测模型作出准备。(2)建立了一个内存泄漏预测模型,通过机器学习中的Ranking SVM算法,对已收集的内存特征向量进行打分、排序,以确定每一个测试用例是否可能导致内存泄漏。根据泄漏预测模型给出的评分和排序,提出了测试用例的选择排序算法,从而加速泄漏检测过程。(3)对Android软件的GUI进行分析,得到GUI事件-内存流程图,结合内存泄漏预测模型找出的具有内存泄漏风险的事件操作,生成能够消耗大量内存的测试用例,构造面向泄漏检测的增强测试用例集。最后,通过在若干开源的Android应用程序进行测试,检验了本文所提出的方法的有效性,表明这些方法能够帮助用户提高测试效率。
其他文献
近年来综合模块化航空电子系统(IMA)已经广泛应用于机载航空电子系统,是航空领域的一项重要系统结构和发展趋势。在IMA系统开发过程中,针对系统满足资源共享以及安全可靠运行
无线多媒体传感器网络已成为计算机领域的前沿课题之一。无线传感器网络节点因受到体积、能耗、存储容量和通信能力等诸方面的限制,节点的设计需考虑诸多因素。本文通过分析
通过图形学的方法描述自然界的各类复杂的现象一直以来都是计算机图形学领域众多研究工作者所关注的重点,而对动态流体的交互模拟更是该领域的研究热点和难点。它是一个复杂的
机会网络是依靠节点彼此偶遇的机会进行信息传递的自组织网络,其概念涵盖了由于节点移动等因素造成间歇式连通甚至非连通、网络拓扑结构复杂多变、对网络结构没有预先知识的各
无线传感器网络作为传感器技术、无线通信技术、微电子系统技术和分布式信息处理技术相结合的产物,成为计算机科学领域的一个重要的研究分支。无线传感器网络是由大量具有感知
由于基于种群的进化算法在单次运行中能近似出一个Pareto解集,因此多目标进化算法已成为一种较为普遍且有效的求解多目标优化问题的方法。本文将基于分解和排序的方法融入到
随着万维网的发展,越来越多的信息被数字化,信息检索成为最广泛使用的计算机应用技术之一。每一秒,都有成千上万的人在搜索万维网上的信息,期望找到满意的结果。评价是信息检索的
随着社交媒体的迅猛发展,微博成为备受用户青睐的网络交流平台,微博用户性别识别逐渐成为学术界研究的热点。心理学和语言学领域的大量研究表明男性和女性在情绪表达上存在差
随着电子商务技术的不断发展,个性化推荐逐渐成为网络营销的一种策略和手段。然而,传统的个性化推荐系统只是基于孤立的Web站点上仅存的数据库进行数据挖掘进而进行个性化推荐,
设计一种节能高效的无线传感网络路由协议始终是无线传感网络研究领域的一个重要课题。无线传感网络路由协议-LEACH协议是一种经典的分簇路由协议,LEACH协议相比其他平面路由