ABSTRACT
A growing number of software solutions have been proposed to address application-level energy consumption problems in the last few years. However, little is known about how much software developers are concerned about energy consumption, what aspects of energy consumption they consider important, and what solutions they have in mind for improving energy efficiency. In this paper we present the first empirical study on understanding the views of application programmers on software energy consumption problems. Using StackOverflow as our primary data source, we analyze a carefully curated sample of more than 300 questions and 550 answers from more than 800 users. With this data, we observed a number of interesting findings. Our study shows that practitioners are aware of the energy consumption problems: the questions they ask are not only diverse -- we found 5 main themes of questions -- but also often more interesting and challenging when compared to the control question set. Even though energy consumption-related questions are popular when considering a number of different popularity measures, the same cannot be said about the quality of their answers. In addition, we observed that some of these answers are often flawed or vague. We contrast the advice provided by these answers with the state-of-the-art research on energy consumption. Our summary of software energy consumption problems may help researchers focus on what matters the most to software developers and end users.
- A. Barua, S. Thomas, and A. Hassan. What are developers talking about? an analysis of topics and trends in stack overflow. EMSE, 2012. Google ScholarDigital Library
- L. Bircher and L. John. Analysis of dynamic power management on multi-core processors. In ICS, 2008. Google ScholarDigital Library
- C. Brandolese, W. Fornaciari, F. Salice, and D. Sciuto. The impact of source code transformations on software power and energy consumption. Journal of Circuits, Systems and Computers, 11(05), 2002.Google Scholar
- T. Cao, S. Blackburn, T. Gao, and K. McKinley. Yin and yang of power and performance for asymmetric hardware and managed software. In ISCA, 2012. Google ScholarDigital Library
- M. Carbin, D. Kim, S. Misailovic, and M. Rinard. Proving acceptability properties of relaxed nondeterministic approximate programs. In PLDI, 2012. Google ScholarDigital Library
- E. G. Daylight, T. Fermentel, C. Ykman-Couvreur, and F. Catthoor. Incorporating energy efficient data structures into modular software implementations for internet-based embedded systems. In WOSP, 2002. Google ScholarDigital Library
- H. Esmaeilzadeh, T. Cao, X. Yang, S. Blackburn, and K. S. McKinley. What is happening to power, performance, and software? IEEE Micro, 32(3), 2012. Google ScholarDigital Library
- K. I. Farkas, J. Flinn, G. Back, D. Grunwald, and J. M. Anderson. Quantifying the energy consumption of a pocket computer and a java virtual machine. In SIGMETRICS, 2000. Google ScholarDigital Library
- J. Fereday. Demonstrating rigor using thematic analysis: A hybrid approach of inductive and deductive coding and theme development. International Journal of Qualitative, 5, 2006.Google Scholar
- R. Ge, X. Feng, W. chun Feng, and K. Cameron. Cpu miser: A performance-directed, run-time system for power-aware clusters. In ICPP, 2007. Google ScholarDigital Library
- S. Hao, D. Li, W. G. J. Halfond, and R. Govindan. Estimating mobile application energy consumption using program analysis. In ICSE, 2013. Google ScholarDigital Library
- M. V. Heikkinen, J. K. Nurminen, T. Smura, and H. Hammainen. Energy efficiency of mobile handsets: Measuring user attitudes and behavior. Telematics and Informatics, 29(4), 2012. Google ScholarDigital Library
- A. Hindle. Green mining: A methodology of relating software change to power consumption. In MSR, 2012.Google Scholar
- A. Iyer and D. Marculescu. Power efficiency of voltage scaling in multiple clock, multiple voltage cores. In ICCAD, 2002. Google ScholarDigital Library
- Y.-W. Kwon and E. Tilevich. Reducing the energy consumption of mobile applications behind the scenes. In ICSM, 2013. Google ScholarDigital Library
- D. Li, S. Hao, W. G. J. Halfond, and R. Govindan. Calculating source line level energy information for android applications. In ISSTA, 2013. Google ScholarDigital Library
- Y. Liu. Energy-efficient synchronization through program patterns. In GREENS, 2012.Google ScholarDigital Library
- M. Menarini, F. Seracini, X. Zhang, T. Rosing, and I. Kruger. Green web services: Improving energy efficiency in data centers via workload predictions. In GREENS, 2013.Google ScholarCross Ref
- A. Merkel and F. Bellosa. Balancing power consumption in multiprocessor systems. In EuroSys, 2006. Google ScholarDigital Library
- P. Morrison and E. Murphy-Hill. Is programming knowledge related to age? an exploration of stack overflow. In MSR, 2013. Google ScholarDigital Library
- A. Pathak, Y. C. Hu, and M. Zhang. Bootstrapping energy debugging on smartphones: A first look at energy bugs in mobile devices. In HotNets, 2011. Google ScholarDigital Library
- K. Pentikousis. In search of energy-efficient mobile networking. Comm. Mag., 48(1), 2010. Google ScholarDigital Library
- G. Pinto and F. Castor. On the implications of language constructs for concurrent execution in the energy efficiency of multicore applications. In SPLASH Companion, 2013. Google ScholarDigital Library
- K. K. Rangan, G.-Y. Wei, and D. Brooks. Thread motion: fine-grained power management for multi-core systems. In ISCA, 2009. Google ScholarDigital Library
- H. Ribic and Y. D. Liu. Energy-efficient work-stealing language runtimes. In ASPLOS, 2014. Google ScholarDigital Library
- C. Sahin, F. Cayci, I. Gutiérrez, J. Clause, F. Kiamilev, L. Pollock, and K. Winbladh. Initial explorations on design pattern energy usage. In GREENS, 2012.Google ScholarCross Ref
- L. Singer, F. Figueira Filho, and M.-A. Storey. Software engineering at the speed of light: How developers stay current using twitter. In ICSE, 2014. Google ScholarDigital Library
- V. Tiwari, S. Malik, and A. Wolfe. Power analysis of embedded software: A first step towards software power minimization. IEEE Transactions on VLSI Systems, 2:437–445, 1994. Google ScholarDigital Library
- A. E. Trefethen and J. Thiyagalingam. Energy-aware software: Challenges, opportunities and strategies. JCS, 2013.Google ScholarCross Ref
- C. Treude, O. Barzilay, and M.-A. Storey. How do programmers ask and answer questions on the web? (nier track). In ICSE, 2011. Google ScholarDigital Library
- N. Vijaykrishnan, M. Kandemir, S. Kim, S. Tomar, A. Sivasubramaniam, and M. J. Irwin. Energy behavior of java applications from the memory perspective. In JVM, 2001. Google ScholarDigital Library
- S. Wang, D. Lo, and L. Jiang. An empirical study on developer interactions in stackoverflow. In SAC, 2013. Google ScholarDigital Library
- C. Wilke, C. Piechnick, S. Richly, G. Püschel, S. Götz, and U. Assmann. Comparing mobile applications’ energy consumption. In SAC, 2013. Google ScholarDigital Library
- C. Wilke, S. Richly, S. Gotz, C. Piechnick, and U. Assmann. Energy consumption and efficiency in mobile applications: A user feedback study. In GreenCom, 2013. Google ScholarDigital Library
- Z. Zhuang, K.-H. Kim, and J. P. Singh. Improving energy efficiency of location sensing on smartphones. In MobiSys, 2010. Google ScholarDigital Library
Index Terms
- Mining questions about software energy consumption
Recommendations
GreenMiner: a hardware based mining software repositories software energy consumption framework
MSR 2014: Proceedings of the 11th Working Conference on Mining Software RepositoriesGreen Mining is a field of MSR that studies software energy consumption and relies on software performance data. Unfortunately there is a severe lack of publicly available software power use performance data. This means that green mining researchers ...
Awakening awareness on energy consumption in software engineering
ICSE-SEIS '17: Proceedings of the 39th International Conference on Software Engineering: Software Engineering in Society TrackSoftware producing organizations have the ability to address the energy impact of their ICT solutions during the development process. However, while industry is convinced of the energy impact of hardware, the role of software has mostly been ...
Green mining: energy consumption of advertisement blocking methods
GREENS 2014: Proceedings of the 3rd International Workshop on Green and Sustainable SoftwareExtending battery life on mobile devices has become an important topic recently due to the increasing frequency of smartphone adoption. A primary component of smart phone energy consumption is the apps that run on these devices. Many apps have embedded ...
Comments