Automated Re-factoring of Android Apps to Enhance Energy-Efficiency

Abhijeet Banerjee, Abhik Roychoudhury
{"title":"Automated Re-factoring of Android Apps to Enhance Energy-Efficiency","authors":"Abhijeet Banerjee, Abhik Roychoudhury","doi":"10.1145/2897073.2897086","DOIUrl":null,"url":null,"abstract":"Mobile devices, such as smartphones and tablets, are energy constrained by nature. Therefore, apps targeted for such platforms must be energy-efficient. However, due to the use of energy oblivious design practices often this is not the case. In this paper, we present a light-weight re-factoring technique that can assist in energy-aware app development. Our technique relies on a set of energy-efficiency guidelines that encodes the optimal usage of energy-intensive (hardware) resources in an app. Given a prototype for an app, our technique begins by generating a design-expression for it. A design-expression can be described as a regular-expression representing the ordering of energy-intensive resource usages and invocation of key functionalities (event-handlers) within the app. It also generates a set of defect-expressions that are design-expressions representing the negation of energy-efficiency guidelines. A non-empty intersection between an app’s design-expression and a defect expression indicates violation of a guideline (and therefore, potential for re-factoring). To evaluate the efficacy of our re-factoring technique we analyzed a suite of open-source Android apps using our technique. The resultant re-factoring when applied reduced the energy-consumption of these apps between 3 % to 29 %. We also present a case study for one of our subject apps, that captures its design evolution over a period of two-years and more than 200 commits. Our framework found re-factoring opportunities in a number of these commits, that could have been implemented earlier on in the development stages had the developer used an energy-aware re-factoring technique such as the one presented in this work.","PeriodicalId":296509,"journal":{"name":"2016 IEEE/ACM International Conference on Mobile Software Engineering and Systems (MOBILESoft)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2016-05-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"66","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2016 IEEE/ACM International Conference on Mobile Software Engineering and Systems (MOBILESoft)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/2897073.2897086","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 66

Abstract

Mobile devices, such as smartphones and tablets, are energy constrained by nature. Therefore, apps targeted for such platforms must be energy-efficient. However, due to the use of energy oblivious design practices often this is not the case. In this paper, we present a light-weight re-factoring technique that can assist in energy-aware app development. Our technique relies on a set of energy-efficiency guidelines that encodes the optimal usage of energy-intensive (hardware) resources in an app. Given a prototype for an app, our technique begins by generating a design-expression for it. A design-expression can be described as a regular-expression representing the ordering of energy-intensive resource usages and invocation of key functionalities (event-handlers) within the app. It also generates a set of defect-expressions that are design-expressions representing the negation of energy-efficiency guidelines. A non-empty intersection between an app’s design-expression and a defect expression indicates violation of a guideline (and therefore, potential for re-factoring). To evaluate the efficacy of our re-factoring technique we analyzed a suite of open-source Android apps using our technique. The resultant re-factoring when applied reduced the energy-consumption of these apps between 3 % to 29 %. We also present a case study for one of our subject apps, that captures its design evolution over a period of two-years and more than 200 commits. Our framework found re-factoring opportunities in a number of these commits, that could have been implemented earlier on in the development stages had the developer used an energy-aware re-factoring technique such as the one presented in this work.
查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
自动重构Android应用程序,提高能源效率
移动设备,如智能手机和平板电脑,受到自然能源的限制。因此,针对这些平台的应用程序必须是节能的。然而,由于使用无关能量的设计实践,通常情况并非如此。在本文中,我们提出了一种轻量级重构技术,可以帮助节能应用程序开发。我们的技术依赖于一套能源效率准则,该准则对应用程序中能源密集型(硬件)资源的最佳使用进行编码。给定应用程序的原型,我们的技术首先为其生成设计表达。设计表达式可以被描述为正则表达式,表示应用程序中能源密集型资源使用的顺序和关键功能(事件处理程序)的调用。它还生成一组缺陷表达式,这些缺陷表达式是设计表达式,表示对能源效率准则的否定。应用程序的设计表达式和缺陷表达式之间的非空交集表明违反了指导原则(因此,有可能进行重构)。为了评估我们重构技术的效果,我们分析了一组使用我们技术的开源Android应用。由此产生的重构使这些应用的能耗减少了3%到29%。我们还为我们的一个主题应用程序提供了一个案例研究,该案例研究捕捉了它在两年时间内的设计演变和200多次提交。我们的框架在许多这样的提交中发现了重构的机会,如果开发人员使用了像本文所介绍的这样的能量感知重构技术,这些机会本可以在开发阶段的早些时候实现。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 去求助
来源期刊
自引率
0.00%
发文量
0
期刊最新文献
Preserving Energy Resources Using an Android Kernel Extension: A Case Study Comparing Performance Parameters of Mobile App Development Strategies VALERA: An Effective and Efficient Record-and-Replay Tool for Android Mobile Exergaming: Exergames on the Go Model Under Design and Over Design on Mobile Applications
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
已复制链接
已复制链接
快去分享给好友吧!
我知道了
×
扫码分享
扫码分享
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1