BigData Analysis of Stack Overflow for Energy Consumption of Android Framework

With the recent increase in the sales of Android-based smart-phones, the demand for android development from the past years has improved tremendously. The recent debacle of Samsung Galaxy Note 7 along with some other incidents have highlighted the need for better energy management in smart-phones. One source of the reported battery issues was the energy-inefficient APIs used by the Android developers. To improve reliability and better power utilization this needs to be addressed by the developers. This paper reports our analysis of this problem. In our study, we have used NLTK techniques, for analyzing energy-related posts on Stack Overflow (SO). Energy inefficient APIs have been discussed frequently by the developers on SO. We have analyzed over four million posts from SO from which thousands of posts on the topic of energy inefficient APIs are scrutinized in detail. Our study identifies the issues that are frequently related to LocationListener API, LocationManager API, Broadcastreceiver API in term of GPS location, and AlarmManager for location updation.

[1]  Ali Mesbah,et al.  Mining questions asked by web developers , 2014, MSR 2014.

[2]  Gustavo Pinto,et al.  Mining questions about software energy consumption , 2014, MSR 2014.

[3]  Lin Li,et al.  Obstacles in Using Frameworks and APIs: An Exploratory Study of Programmers' Newsgroup Discussions , 2011, 2011 IEEE 19th International Conference on Program Comprehension.

[4]  Michael W. Godfrey,et al.  Detecting API usage obstacles: A study of iOS and Android developer questions , 2013, 2013 10th Working Conference on Mining Software Repositories (MSR).

[5]  Martin P. Robillard,et al.  A field study of API learning obstacles , 2011, Empirical Software Engineering.

[6]  Eleni Stroulia,et al.  Detecting duplicate bug reports with software engineering domain knowledge , 2015, 2015 IEEE 22nd International Conference on Software Analysis, Evolution, and Reengineering (SANER).

[7]  J. Fereday,et al.  Demonstrating Rigor Using Thematic Analysis: A Hybrid Approach of Inductive and Deductive Coding and Theme Development , 2006 .

[8]  Gabriele Bavota,et al.  Mining energy-greedy API usage patterns in Android apps: an empirical study , 2014, MSR 2014.

[9]  Ding Li,et al.  An Empirical Study of the Energy Consumption of Android Applications , 2014, 2014 IEEE International Conference on Software Maintenance and Evolution.

[10]  Dong Yan,et al.  Lightweight energy consumption analysis and prediction for Android applications , 2018, Sci. Comput. Program..

[11]  Ramesh Govindan,et al.  Estimating Android applications' CPU energy usage via bytecode profiling , 2012, 2012 First International Workshop on Green and Sustainable Software (GREENS).

[12]  Michael W. Godfrey,et al.  Going Green: An Exploratory Analysis of Energy-Related Questions , 2015, 2015 IEEE/ACM 12th Working Conference on Mining Software Repositories.

[13]  David Lo,et al.  Towards more accurate content categorization of API discussions , 2014, ICPC 2014.

[14]  Felipe Ebert,et al.  Mining Energy-Aware Commits , 2015, 2015 IEEE/ACM 12th Working Conference on Mining Software Repositories.

[15]  Ngoc Phuoc An Vo,et al.  Identifying User Issues and Request Types in Forum Question Posts Based on Discourse Analysis , 2016, WWW.

[16]  Gabriele Bavota,et al.  The Impact of API Change- and Fault-Proneness on the User Ratings of Android Apps , 2015, IEEE Transactions on Software Engineering.

[17]  Romain Robbes,et al.  How do developers react to API deprecation?: the case of a smalltalk ecosystem , 2012, SIGSOFT FSE.

[18]  Xiaoyan Zhu,et al.  Using Conditional Random Fields to Extract Contexts and Answers of Questions from Online Forums , 2008, ACL.

[19]  Chanchal Kumar Roy,et al.  Classifying stack overflow posts on API issues , 2018, 2018 IEEE 25th International Conference on Software Analysis, Evolution and Reengineering (SANER).

[20]  Abram Hindle,et al.  Client-Side Energy Efficiency of HTTP/2 for Web and Mobile App Developers , 2016, 2016 IEEE 23rd International Conference on Software Analysis, Evolution, and Reengineering (SANER).

[21]  Michael W. Godfrey,et al.  Recommending Posts concerning API Issues in Developer Q&A Sites , 2015, 2015 IEEE/ACM 12th Working Conference on Mining Software Repositories.

[22]  Ming Zhang,et al.  Where is the energy spent inside my app?: fine grained energy accounting on smartphones with Eprof , 2012, EuroSys '12.

[23]  Martin P. Robillard,et al.  What Makes APIs Hard to Learn? Answers from Developers , 2009, IEEE Software.

[24]  Ashish Sureka,et al.  Chaff from the wheat: characterization and modeling of deleted questions on stack overflow , 2014, WWW.

[25]  Luis Cruz,et al.  Performance-Based Guidelines for Energy Efficient Mobile Applications , 2017, 2017 IEEE/ACM 4th International Conference on Mobile Software Engineering and Systems (MOBILESoft).

[26]  Stephen W. Thomas Mining software repositories using topic models , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

[27]  Christoph Treude,et al.  How do programmers ask and answer questions on the web?: NIER track , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

[28]  Gabriele Bavota,et al.  How do API changes trigger stack overflow discussions? a study on the Android SDK , 2014, ICPC 2014.

[29]  David Lo,et al.  How Android App Developers Manage Power Consumption? - An Empirical Study by Mining Power Management Commits , 2016, 2016 IEEE/ACM 13th Working Conference on Mining Software Repositories (MSR).

[30]  Andrea Esuli,et al.  SentiWordNet 3.0: An Enhanced Lexical Resource for Sentiment Analysis and Opinion Mining , 2010, LREC.

[31]  Martin P. Robillard,et al.  Discovering Information Explaining API Types Using Text Classification , 2015, 2015 IEEE/ACM 37th IEEE International Conference on Software Engineering.

[32]  Hridesh Rajan,et al.  Boa: A language and infrastructure for analyzing ultra-large-scale software repositories , 2013, 2013 35th International Conference on Software Engineering (ICSE).

[33]  Danna Zhou,et al.  d. , 1934, Microbial pathogenesis.