首页> 外文OA文献 >Categorization and Detection of Energy Bugs and Application Tail Energy Bugs in Smartphones
【2h】

Categorization and Detection of Energy Bugs and Application Tail Energy Bugs in Smartphones

机译:智能手机中的能量错误和应用程序尾部能量错误的分类和检测

代理获取
本网站仅为用户提供外文OA文献查询和代理获取服务,本网站没有原文。下单后我们将采用程序或人工为您竭诚获取高质量的原文,但由于OA文献来源多样且变更频繁,仍可能出现获取不到、文献不完整或与标题不符等情况,如果获取不到我们将提供退款服务。请知悉。

摘要

Smartphones are the most ubiquitous and popular hand-held devices because of their rich set of features and wide variety of services. However, their daily use is hampered by their high energy consumption, which forces frequent battery recharging. In smartphones, most energy issues are due to energy bugs (ebugs). These energy bugs are said to exist when smartphone software applications (apps) consume more than expected power while executing or continue to consume energy even after these apps are closed or terminated. Therefore, it is very important to develop energy-efficient applications as these energy bugs severely impact user experience and cause significant user frustration. In the first half of this thesis, we discuss the problem of energy bugs. To develop frameworks and tools that detect energy bugs, we need to characterize the power consuming behaviour of software. To achieve that, we develop an operational definition for energy bugs that can be easily translated to a procedure to detect energy bugs in smartphones. Furthermore, we integrate the proposed definition with a diagnostic framework to provide a step-by-step procedure for application developers to identify different types of energy bugs. Using the proposed testing framework, developers can investigate the existence of energy bugs especially when apps or platforms evolve. We validate the proposed framework with experiments and real-world energy bug examples. The results show that there are energy bugs across different versions of the same app as well as across different versions of Operating systems running on the same smartphone.Being software builders and application support providers, software developers should make energy efficient applications for end-users. Thus in the second half of this thesis, we discuss the relationship between software changes and energy consumption by tracing wakelocks that keep a device awake, and services that might be engaging the CPU silently. Although, computer hardware and software engineers are involved in developing energy efficient mobile systems, unfortunately, the ultimate energy efficiency depends on the software choices and requirements of the end-user. We investigate multiple scenarios demonstrating that an application can consume energy differently when a user closes the app in four different ways (Home, Back, Swipe-out or Force-stop). This difference in energy consumption is also true when the app has different components such as activity or service with or without wakelocks, thus illustrating the trade-offs that end-users can make for the sake of energy consumption.Although these energy bugs trigger during the execution stage, their effect sometimes remain after closing the app. Borrowing a similar concept of tail energy loss from the field of computer networking, we call the loss of battery power, even after the app is closed or terminated, as application tail energy bug (app-tail-ebug). The diagnostic process begin by measuring any difference in energy consumption of the smartphone before and after closing the app by an external power meter, which clearly establishes the existence or absence of application tail energy bug. To verify, we use system utilities such as Android logging system, logcat, bugreport, dumpstate and dumpsys.Our ultimate goal is to design a tool as an app running on the device, which can analyse system information and suggest the presence of energy bugs. However, Android has strengthened the security of its OS after KitKat version 4.4, and now superuser access is required to run system level commands. Furthermore, no user app is allowed to access system level information unless the testing app is installed as a system app. Therefore, we run our tool on a desktop PC. In summary, the results of this work can be used by application developers to make implementation level decisions to appreciably improve energy efficiency of software applications on smartphones.
机译:智能手机因其丰富的功能和广泛的服务而成为最普及和最受欢迎的手持设备。然而,它们的日常使用受到其高能耗的阻碍,这迫使频繁的电池充电。在智能手机中,大多数能源问题是由于能源错误(错误)引起的。当智能手机软件应用程序(应用程序)在执行过程中消耗的能量超过预期的功率时,甚至在关闭或终止这些应用程序后,它们仍然存在,这些能量错误据说存在。因此,开发节能应用程序非常重要,因为这些能源错误会严重影响用户体验并引起用户极大的挫败感。在本文的上半部分,我们讨论了能量错误的问题。要开发检测能量错误的框架和工具,我们需要表征软件的功耗行为。为了实现这一目标,我们开发了关于能源错误的操作定义,可以将其轻松转换为检测智能手机中能源错误的过程。此外,我们将建议的定义与诊断框架集成在一起,为应用程序开发人员提供了逐步的过程,以识别不同类型的能源错误。使用建议的测试框架,开发人员可以调查能量错误的存在,尤其是在应用程序或平台发展时。我们通过实验和实际的能源错误示例验证了提出的框架。结果表明,同一应用程序的不同版本之间以及同一智能手机上运行的操作系统的不同版本之间均存在能源错误。作为开发商和应用程序支持提供商,软件开发人员应为最终用户开发节能应用程序。因此,在本文的下半部分,我们将通过跟踪使设备保持唤醒状态的唤醒锁以及可能使CPU静默运行的服务来讨论软件更改与能耗之间的关系。尽管计算机硬件和软件工程师参与了节能移动系统的开发,但不幸的是,最终的节能效果取决于软件的选择和最终用户的要求。我们研究了多种情况,这些情况表明,当用户以四种不同方式(“首页”,“后退”,“轻扫”或“强制停止”)关闭应用程序时,应用程序可以消耗不同的能量。当应用程序具有不同的组件(例如带有或不带有唤醒锁的活动或服务)时,能源消耗的差异也是如此,从而说明了最终用户可以为消耗能源而进行的取舍。执行阶段,在关闭应用程序后,它们的效果有时会保留。从计算机网络领域借用了类似的尾部能量损失的概念,我们称电池电量的损失,即使在应用程序关闭或终止后,也称为应用程序尾部能量错误(app-tail-ebug)。诊断过程首先通过使用外部功率计测量智能手机在关闭应用程序前后的能耗差异,从而明确确定是否存在应用程序尾部能量错误。为了进行验证,我们使用了Android日志记录系统,logcat,bugreport,dumpstate和dumpsys之类的系统实用程序。我们的最终目标是将一种工具设计为在设备上运行的应用程序,该工具可以分析系统信息并提示是否存在能源错误。但是,在KitKat 4.4版之后,Android增强了其操作系统的安全性,现在需要超级用户访问权限才能运行系统级命令。此外,除非将测试应用程序安装为系统应用程序,否则不允许任何用户应用程序访问系统级信息。因此,我们在台式机上运行我们的工具。总而言之,应用程序开发人员可以使用这项工作的结果来制定实现级别的决策,以显着提高智能手机上软件应用程序的能效。

著录项

  • 作者

    Abbasi Abdul Muqtadir;

  • 作者单位
  • 年度 2016
  • 总页数
  • 原文格式 PDF
  • 正文语种 en
  • 中图分类

相似文献

  • 外文文献
  • 中文文献
  • 专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号