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).
在移动应用程序中调试能源效率相关的现场故障
对应用程序开发人员来说,调试现场故障是一项具有挑战性的任务。不充分或不可靠的信息,不正确的假设和大量的设备(智能手机)被使用,只是许多因素可能导致其挑战的一部分。在这项工作中,我们设计并开发了一个开源框架,有助于在Android应用程序中进行通信,本地化和补丁能耗相关的现场故障。我们的框架由两套自动化工具组成:一套用于应用程序用户精确记录和报告在实际应用程序中观察到的现场故障,另一套通过自动定位报告的缺陷并建议补丁位置来帮助开发人员。更具体地说,开发人员方面的工具包括一个eclipse插件,用于检测指示能效低下行为的Android API调用的特定模式。在我们对现实应用程序的实验中,我们观察到我们的框架可以在很短的时间内(~3秒)定位缺陷,即使对于有数千行代码的应用程序也是如此。此外,由于修补缺陷而产生的能源节约是显著的(观察到的能源节约高达29%)。当比较我们的框架建议的补丁位置和来自现实应用程序存储库的补丁代码中的更改时,我们观察到一个显著的相关性(我们的工具建议的更改也出现在源代码提交中,其中报告的缺陷被标记为修复)。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信