外文翻译译文-能源效率和执行性能的移动应用自动化分析_第1页
外文翻译译文-能源效率和执行性能的移动应用自动化分析_第2页
外文翻译译文-能源效率和执行性能的移动应用自动化分析_第3页
外文翻译译文-能源效率和执行性能的移动应用自动化分析_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

文 献 翻 译1 能源效率和执行性能的移动应用自动化分析在我们的日常生活中,移动设备,特别是智能手机和平板电脑已经成为人们手中真正的计算机应用平台。在其获得令人难以置信的市场成功背后的一个主要原因是,在这些设备上运行的应用程序可以在各种各样的日常活动中帮助到用户(例如工作和娱乐) 。那么拿最受欢迎的移动计算平台安卓(Android)为例:截止到 2014 年七月,目前谷歌官方商店已经拥有 130 万个应用程序。这些应用程序涵盖了 41 个不同的类别,并已经有来自世界各地的用户超过 500 亿的下载量。由于用户在日常生活中依赖于各种移动应用,所以这样的应用程序的用户体验就变得非常重要。毫无疑问,在移动计算时代,应用功能仍然是影响用户体验的的一个关键因素。然而越来越多功能类似的应用程序出现在市场上(例如,各种 Web 浏览器) ,所以非功能性的特性,例如能源效率和性能表现也逐渐变为重要的要素。然而,我们从谷歌应用商店随机抽取的 60000 个安卓应用却暴露了一个令人震惊的现实:他们中的 11108(百分之十八点五)件应用程序遭受或正在遭受能源和性能漏洞。能源漏洞能够默默的并且快速地用尽移动设备的电池电量。性能错误可以显著减缓移动应用程序,使他们消耗过多的计算资源(例如,内存和网络带宽) 。这些漏洞对于客户的用户体验有很严重的影响并造成很严重的用户挫折。能源和性能在应用程序的普及上是两大主要问题。首先,移动设备通常是资源受限的(例如,有限的电池功率和内存) ,但应用程序运行时往往需要进行能源消耗和计算密集型的任务,如网络通信和图形渲染。应用程序的执行效率低下可能会导致明显的能源浪费和性能下降。其次,许多移动应用程序开发的个人开发商没有专门的质量保证。他们很难在确保应用程序的能源效率和性能时进行行使尽职调查,特别是在激烈的竞争中,他们不得不在短时间内将其应用产品推向市场。所以找到应用程序的能源和性能漏洞也成了资源和性能优化的第一步。然而,这是一个艰巨的任务,因为能源效率低下和性能下降等问题往往只发生在应用程序的某些状态。为了查找出漏洞,开发人员经常要广泛测试他们的应用程序在不同的设备和执行能源和性能分析(例如,测量能源或内存消耗) 。要找出根本原因,他们往往要小心地把有关设施收集到的程序、收集大量的运行时信息、进行离线调查。这样的过程是繁琐和劳动密集型的。因此,自动诊断技术是非常可取的。这促成了我们的研究。我们研究的目标是设计出实用的和自动化的分析技术,以帮助开发人员快速定位在他们的移动应用程序中的能量和性能的错误。我们把我们的研究范围限定在安卓智能手机应用程序范畴之中,也正是由于由于其平台的开放性和普及。为了实现我们的研究目标,我们需要解决以下重要问题:1 Automated analysis of energyefficiency and execution performance for mobile applications,Yepang Liu能源和表现漏洞的理解。首先,移动计算平台是相对较新的。不论是研究团体还是工业团队对应用程序的运行都没有好的理解。然而,为了设计有用的技术,以帮助开发人员修正这样的错误,我们必须把深入了解这些错误放在第一位。自动判断能源和性能缺陷的提示。其次,能源的错误可能会默默地耗尽电池的功率和性能的错误,可能会逐渐导致性能下降。但是这样的错误很少导致骤发的后果(例如,崩溃) 。这使得很难判断它们的存在。然而,我们设计自动化分析技术的时候却需要设定一个便于判断机械能源效率和性能退化的标准。为了解决这些问题,我们收集并进行了大规模的 Android 应用程序实际的性能和能耗漏洞的实证研究。我们仔细研究了这些问题出现的特点,如他们表现的机制和自我诊断的困难,并确定了几种导致能源浪费和性能下降常见的原因。在能源缺陷的实证研究中,我们观察到了两种常见的造成能量浪费的原因:1 传感器的失灵和唤醒锁的问题。许多安卓应用程序会调用智能手机内置的传感器(例如,全球定位系统或者其他定位系统) ,来不断探测用户的物理和网络环境,以提供各种用户需要的服务(例如,导航功能) 。应用程序如果使用一个传感器,需要在安卓系统上注册一个监听器。当传感器不再被使用时,该侦听器应该是未注册的。同样的是,为了使一个手机保持清醒的计算状态,应用程序必须从安卓系统中获得一个唤醒锁。当计算完成后,所获得的唤醒锁也应该被注销。忘记注销传感器监听器或释放唤醒锁会很快耗尽电池的电量。2 感官数据的占用。传感操作所消耗的内存相当大,因此应用程序得到的感官数据应该有效利用并给用户带来便利。所以感官数据的利用(例如,用于可视化的的GUI)经常导致能源浪费。为 了 自 动 检 测 到 这 种 能 源 消耗 的 漏 洞 , 我 们 设 计 一个 动 态 的 分 析 技 术greendroid。Greendroid 通过生成用户交互事件序列,系统地执行一个对 Android应用程序的状态空间的探索。在执行过程中,它跟踪每一个调用系统的应用程序中转变,传播和消费的感官数据,并分析是否有效地利用数据,它还监视传感器/唤醒锁是否正确注册/获取和未注册/发布。为了评估 greendroid 的效率,我们应用它来分析 14 个流行的开源的 Android 应用程序。Greendroid 在几分钟内完成了对这些应用程序的分析。经过开发者的证实,它成功地定位了于 13 个应用程序中真实存在的能源问题,另外还发现了以前未发现的的漏洞。我们还邀请了开发者对于漏洞进行修补。这些评估结果证明了 greendroid 的效率和有效性。在性能缺陷的实证研究中,我们也观察到了 2 种常见的导致性能退化的原因:1 在主线程中进行冗长的操作。默认情况下安卓系统的应用程序都是在一个单独的名为“主线程”的线程上运行的。此线程主要用于处理用户交互事件,因此在线程中运行的应用程序应该尽可能减少对于线程的占用。在“主线程”中运行冗长的操作会大幅度减缓应用程序的响应速度。2 太多频繁且大量的回调。因为 Android 应用程序是由事件驱动的,经常由一组函数回调。一些回调经常通过 Android 操作系统来调用,因此需要大量占用内存。高频度调用的回调可以显著降低应用程序的速度。而 为了 自动 检测 性能上 的缺 陷, 我们设 计了 一个 轻量 级的 静态 分析技 术perfchecker。Perfchecker 的关键是自动扫描一个 Android 应用程序的字节码并且通过这样鉴定这一组检查的效率。然后,它分析检查点的实施是否违反了制定的效率规则,并通过现实世界的研究来修补程序。为评价 perfchecker 的实用性,我们对39 个流行的 Android 应用程序(29 开源和 10 商业)进行大规模的试验研究并建立了一个广泛使用的应用程序开发库。Perfchecker 以每一个程序几秒或几分钟的效率快速地完成分析。它成功地检测到了 178 个先前未知的性能错误,其中 88 个被迅速确认。我们通过比较实验证实,这些固定的检测到的性能错误,确实影响性能。这些评估结果可以确认 perfchecker 的效率和有效性。为了总结以上成果,本文做出了以下归纳:在安卓应用的研究中,我们进行了大规模的能源和性能缺陷的实证研究。我们的研究结果可以帮助理解这些错误的特点,并了提供相关的研究信息。我们提出了一个动态的分析技术 greendroid 帮助开发者在 Android 应用程序能自动诊断能源错误的常见模式。提出静态分析技术 perfchecker 帮助开发者自动检测 Android 应用程序中的性能缺陷常见模式。实施 greendroid 和 perfchecker 并且进行用来评估它们的安卓应用程序的实验。我们的评价结果证实了该技术的有效性和实用性。本论文的其余部分组织如下。第 2 章介绍了安卓平台和应用的初步知识。第 3章介绍了我们的实证研究,在智能化的的应用程序中应用我

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论