Android应用中服务使用缺陷的分析与检测

来源 :南京理工大学 | 被引量 : 0次 | 上传用户:hfrr0828
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
服务作为Android应用中经常使用的组件,主要负责在后台执行耗时的操作。虽然服务与应用的图形用户界面无关,但研究发现服务的不恰当使用会导致应用性能的降低,例如会导致额外的能源消耗和不必要的资源占用。目前相关研究主要集中在Android应用中图形用户界面与能源缺陷的测试方面,并没有对服务的使用缺陷进行研究。为此,本文主要做了以下四个方面的工作。1.结合服务生命周期和三类服务使用方式,总结出四类服务使用反模式,并基于Android应用的过程间控制流图,给出四类反模式对应的具体缺陷的静态分析方法。2.利用线性时序逻辑给出服务使用四类反模式缺陷的形式化定义,并给出根据应用运行时产生的动态信息对相关特性进行运行时验证的动态分析方法。3.设计并实现了一个原型工具ServDroid,可以用于自动化检测Android应用中存在的服务使用模式及其使用存在的缺陷(反模式的具体实例)。该工具主要包括三个模块:静态分析模块,动态分析模块与使用缺陷修复模块。静态分析模块通过分析应用的代码和资源,得到服务使用模式,然后结合Android SDK提供的关键API进一步分析得出每一种服务使用模式存在的反模式缺陷并且可以生成上下文调试信息,帮助开发人员快速定位问题;动态分析模块首先自动化生成应用的活动跳转图,并基于该图生成触发服务的执行路径,然后基于运行时验证给出存在使用缺陷的服务;缺陷修复模块可以自动的修复存在服务使用反模式缺陷的Android应用。4.以50个应用为基础,以人工审查结果作为Ground Truth,对本文提出的静态与动态分析结果进行验证。实验结果阐明了静态分析与动态分析的正确性。并对50个应用进行修复,进行电量实验,实验结果表明服务使用缺陷对应用能耗和内存占用有较大的影响。使用ServDroid的静态分析模块对1000个流行的Android应用进行了实证分析,发现了服务使用缺陷的普遍性。
其他文献
近年来,分布式能源并入电网的装机容量越来越大,微电网、智能电网以及能源互联网等概念被广泛提及和深入研究。然而,新能源电力具有随机性和间隙性的特点,将其并入电网对电网
离心泵作为工农业领域中常用的通用机械,其叶轮的参数设计是影响性能的关键点,而叶片包角与叶片数的参数设计对其性能的影响尤为重要,但目前大多数学者均是单一改变叶片包角
目的探讨原发性青光眼患者及正常人睫状突相对位置及其与眼部其他生物学参数的相关性,为经睫状体光凝精细化治疗提供资料。方法招募30例原发性青光眼患者,10例年龄匹配的正常
随着以清洁能源为主的可再生分布式发电能源的广泛使用,可接纳分布式能源的微电网得到了广泛的关注,其中直流微电网由于其自身配电方式的优势以及总成本和总损耗相对较低的优点成为微电网领域中的一个研究方向,其协调运行控制和能量优化管理是研究的重点。本文以包含风光储网的直流微电网为研究对象,采用分层控制的方法解决控制目标在不同时间尺度中相互影响的问题,并针对直流微电网的协调运行控制和能量优化管理两个关键问题进
玄幻小说是基于玄想基础上的幻想小说,不受时空及科学人文的限制。玄幻小说翻译帮助玄幻小说这一新兴故事文本收获了广大西方读者的喜爱和认可,逐渐成为了解中华文化的窗口之一。本报告选取武侠世界网站我吃西红柿的玄幻小说《一念永恒》为翻译对象,从文化视角分析玄幻小说翻译的应对之法。译者首先借鉴奈达对文化的分类将玄幻小说《一念永恒》中的文化负载词分为三类:语言类文化负载词、社会类文化负载词和宗教类文化负载词。然
随着桥梁跨径的不断增大,结构自重对桥梁跨径的限制越来越突出。结合梁桥作为一种兼具混凝土结构和钢结构优点的组合结构,必将得到广泛采用。为了进一步降低结构自重,增大结
全氟化合物(perfluorinated compounds,PFCs)是碳链上的氢原子全部被氟原子取代的一类人工合成的有机化合物,被应用于各类工农业生产及生活领域,PFCs具有环境持久性、生物累
高瓦斯煤矿在闭坑后,仍然残留有大量的瓦斯气体,地下水位回弹,形成了闭坑矿井水-煤岩-瓦斯三相多组分系统,三相反应有可能带来瓦斯泄露及地下水污染风险。本文以关闭煤矿水岩
组合人工湿地被认为是净化污染的城市河流最有效的方法。湿地水处理过程是一个复杂的物化-生化过程,其中湿地系统中的微生物在水处理过程中占主导作用,然而这些过程往往受进
基于深度神经网络的图像语义分割在自动驾驶、自主导航等应用中有着很重要的作用。在过去的几年里,卷积神经网络(Convolutional Neural Networks,CNNs)在语义分割任务中显示