Debugging Energy-Efficiency Related Field Failures in Mobile Apps

Abhijeet Banerjee, Hai-Feng Guo, Abhik Roychoudhury
{"title":"Debugging Energy-Efficiency Related Field Failures in Mobile Apps","authors":"Abhijeet Banerjee, Hai-Feng Guo, Abhik Roychoudhury","doi":"10.1145/2897073.2897085","DOIUrl":null,"url":null,"abstract":"Debugging field failures can be a challenging task for app-developers. Insufficient or unreliable information, improper assumptions and multitude of devices (smartphones) being used, are just some of the many factors that may contribute to its challenges. In this work, we design and develop an open-source framework that helps to communicate, localize and patch energy consumption related field failures in Android apps. Our framework consists of two sets of automated tools: one for the app-user to precisely record and report field failures observed in real-life apps, and the other assists the developer by automatically localizing the reported defects and suggesting patch locations. More specifically, the tools on the developer’s side consist of an Eclipse-plugin that detects specific patterns of Android API calls that are indicative of energy-inefficient behavior. In our experiments with real-life apps we observed that our framework can localize defects in a short amount of time (~3 seconds), even for apps with thousands of lines-of-code. Additionally, the energy savings generated as a result of the patched defects are significant (observed energy savings of up to 29%). When comparing the patch locations suggested by our framework to the changes in the patched code from real-life app-repositories, we observed a significant correlation (changes suggested by our tool also appeared in the source-code commits where the reported defects were marked as fixed).","PeriodicalId":296509,"journal":{"name":"2016 IEEE/ACM International Conference on Mobile Software Engineering and Systems (MOBILESoft)","volume":"49 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2016-05-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"25","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.2897085","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 25

Abstract

Debugging field failures can be a challenging task for app-developers. Insufficient or unreliable information, improper assumptions and multitude of devices (smartphones) being used, are just some of the many factors that may contribute to its challenges. In this work, we design and develop an open-source framework that helps to communicate, localize and patch energy consumption related field failures in Android apps. Our framework consists of two sets of automated tools: one for the app-user to precisely record and report field failures observed in real-life apps, and the other assists the developer by automatically localizing the reported defects and suggesting patch locations. More specifically, the tools on the developer’s side consist of an Eclipse-plugin that detects specific patterns of Android API calls that are indicative of energy-inefficient behavior. In our experiments with real-life apps we observed that our framework can localize defects in a short amount of time (~3 seconds), even for apps with thousands of lines-of-code. Additionally, the energy savings generated as a result of the patched defects are significant (observed energy savings of up to 29%). When comparing the patch locations suggested by our framework to the changes in the patched code from real-life app-repositories, we observed a significant correlation (changes suggested by our tool also appeared in the source-code commits where the reported defects were marked as fixed).
查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
在移动应用程序中调试能源效率相关的现场故障
对应用程序开发人员来说,调试现场故障是一项具有挑战性的任务。不充分或不可靠的信息,不正确的假设和大量的设备(智能手机)被使用,只是许多因素可能导致其挑战的一部分。在这项工作中,我们设计并开发了一个开源框架,有助于在Android应用程序中进行通信,本地化和补丁能耗相关的现场故障。我们的框架由两套自动化工具组成:一套用于应用程序用户精确记录和报告在实际应用程序中观察到的现场故障,另一套通过自动定位报告的缺陷并建议补丁位置来帮助开发人员。更具体地说,开发人员方面的工具包括一个eclipse插件,用于检测指示能效低下行为的Android API调用的特定模式。在我们对现实应用程序的实验中,我们观察到我们的框架可以在很短的时间内(~3秒)定位缺陷,即使对于有数千行代码的应用程序也是如此。此外,由于修补缺陷而产生的能源节约是显著的(观察到的能源节约高达29%)。当比较我们的框架建议的补丁位置和来自现实应用程序存储库的补丁代码中的更改时,我们观察到一个显著的相关性(我们的工具建议的更改也出现在源代码提交中,其中报告的缺陷被标记为修复)。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约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