Green Software Engineering: The Curse of Methodology

Computer Science often seems distant from itsnatural science cousins, especially software engineering whichfeels closer to sociology and psychology than to physics. Physicalmeasurements are often rare in software engineering, except in afew niches. One such important niche is that of software energyconsumption, green mining, green IT, and sustainable computing, which all fall under the umbrella of green software engineering. With the physical measurement of energy consumption comesall of the limitations of measurement and experimentation thatexist in the natural sciences and engineering. Issues abound, fromattribution of energy use, isolation of components, to replicableexperiments. These get further complicated by cloud computingwhereby systems are virtualized and attribution of resource usageis a serious issue. Thus in this work we discuss the current state of softwareenergy consumption, and where will it go.

[1]  Abram Hindle Green mining: A methodology of relating software change to power consumption , 2012, 2012 9th IEEE Working Conference on Mining Software Repositories (MSR).

[2]  C. Davis,et al.  Harnessing Green IT: Principles and Practices , 2012 .

[3]  Margaret Martonosi,et al.  Run-time power estimation in high performance microprocessors , 2001, ISLPED '01.

[4]  Abram Hindle,et al.  On improving green mining for energy-aware software analysis , 2014, CASCON.

[5]  Bastin Tony Roy Savarimuthu,et al.  Mining Software Repositories for Social Norms , 2015, 2015 IEEE/ACM 37th IEEE International Conference on Software Engineering.

[6]  Justyna Petke,et al.  Reducing Energy Consumption Using Genetic Improvement , 2015, GECCO.

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

[8]  Ahmed E. Hassan,et al.  What Do Mobile App Users Complain About? , 2015, IEEE Software.

[9]  Abram Hindle Green mining: Investigating power consumption across versions , 2012, 2012 34th International Conference on Software Engineering (ICSE).

[10]  Daniel M. Germán,et al.  The Impact of User Choice on Energy Consumption , 2014, IEEE Software.

[11]  Eleni Stroulia,et al.  The power of system call traces: predicting the software energy consumption impact of changes , 2014, CASCON.

[12]  Ruzanna Chitchyan,et al.  Sustainability Design and Software: The Karlskrona Manifesto , 2015, 2015 IEEE/ACM 37th IEEE International Conference on Software Engineering.

[13]  Bill Tomlinson,et al.  Green tracker: a tool for estimating the energy consumption of software , 2010, CHI Extended Abstracts.

[14]  William G. J. Halfond,et al.  Truth in Advertising: The Hidden Cost of Mobile Ads for Software Developers , 2015, 2015 IEEE/ACM 37th IEEE International Conference on Software Engineering.

[15]  Sam Malek,et al.  Component-Level Energy Consumption Estimation for Distributed Java-Based Software Systems , 2008, CBSE.

[16]  Abram Hindle,et al.  Green mining: energy consumption of advertisement blocking methods , 2014, GREENS 2014.

[17]  Uwe Aßmann,et al.  Energy Consumption and Efficiency in Mobile Applications: A User Feedback Study , 2013, 2013 IEEE International Conference on Green Computing and Communications and IEEE Internet of Things and IEEE Cyber, Physical and Social Computing.

[18]  Ramesh Govindan,et al.  Calculating source line level energy information for Android applications , 2013, ISSTA.

[19]  Maurizio Morisio,et al.  Proceedings of the Fourth International Workshop on Green and Sustainable Software , 2012, ICSE 2012.

[20]  Andrew Wolfe,et al.  Instruction level power analysis , 1996 .

[21]  Patrick Kurp,et al.  Green computing , 2008, Commun. ACM.

[22]  Abram Hindle,et al.  What Do Programmers Know about Software Energy Consumption? , 2016, IEEE Software.

[23]  Yepang Liu,et al.  Diagnosing Energy Efficiency and Performance for Mobile Internetware Applications: Challenges and Opportunities , 2015 .

[24]  Abram Hindle,et al.  GreenMiner: a hardware based mining software repositories software energy consumption framework , 2014, MSR 2014.

[25]  Eric Horvitz,et al.  The Lumière Project: Bayesian User Modeling for Inferring the Goals and Needs of Software Users , 1998, UAI.

[26]  Alireza Sadeghi,et al.  EcoDroid: An Approach for Energy-Based Ranking of Android Apps , 2015, 2015 IEEE/ACM 4th International Workshop on Green and Sustainable Software.

[27]  A. Hassan,et al.  What Do Mobile App Users Complain About ? A Study on Free iOS Apps , 2014 .

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

[29]  S. Malek,et al.  An Energy Consumption Framework for Distributed Java-Based Software , 2022 .

[30]  Lionel C. Briand,et al.  A practical guide for using statistical tests to assess randomized algorithms in software engineering , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

[31]  Ivica Crnkovic,et al.  Framing sustainability as a property of software quality , 2015, Commun. ACM.

[32]  Denilson Barbosa,et al.  Hadoop branching: Architectural impacts on energy and performance , 2015, 2015 Sixth International Green and Sustainable Computing Conference (IGSC).

[33]  Ramesh Govindan,et al.  Estimating mobile application energy consumption using program analysis , 2013, 2013 35th International Conference on Software Engineering (ICSE).

[34]  Abram Hindle,et al.  A system-call based model of software energy consumption without hardware instrumentation , 2015, 2015 Sixth International Green and Sustainable Computing Conference (IGSC).

[35]  Abram Hindle,et al.  A green miner's dataset: mining the impact of software change on energy consumption , 2014, MSR 2014.

[36]  Abram Hindle,et al.  Is HTTP/2 more energy efficient than HTTP/1.1 for mobile users? , 2015, PeerJ Prepr..

[37]  Eleni Stroulia,et al.  GreenAdvisor: A tool for analyzing the impact of software evolution on energy consumption , 2015, 2015 IEEE International Conference on Software Maintenance and Evolution (ICSME).

[38]  Paola Grosso,et al.  A user perspective on energy profiling tools in large scale computing environments , 2015, 2015 Sustainable Internet and ICT for Sustainability (SustainIT).

[39]  Gabriele Bavota,et al.  Optimizing energy consumption of GUIs in Android apps: a multi-objective approach , 2015, ESEC/SIGSOFT FSE.

[40]  Lori L. Pollock,et al.  How do code refactorings affect energy usage? , 2014, ESEM '14.

[41]  A.E. Hassan,et al.  The road ahead for Mining Software Repositories , 2008, 2008 Frontiers of Software Maintenance.

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

[43]  Lori L. Pollock,et al.  SEEDS: a software engineer's energy-optimization decision support framework , 2014, ICSE.

[44]  Jacob Aristotle,et al.  Stack Overflow , 2012 .

[45]  Sharad Malik,et al.  Instruction level power analysis and optimization of software , 1996, Proceedings of 9th International Conference on VLSI Design.

[46]  Thomas J. Ostrand,et al.  \{PROMISE\} Repository of empirical software engineering data , 2007 .

[47]  V. Caron,et al.  United states. , 2018, Nursing standard (Royal College of Nursing (Great Britain) : 1987).

[48]  Paola Grosso,et al.  Energy-Efficient Networking Solutions in Cloud-Based Environments , 2015, ACM Comput. Surv..

[49]  David Notkin,et al.  Proceedings of the 43rd International Conference on Software Engineering , 2013, ICSE 2013.

[50]  Eleni Stroulia,et al.  Understanding Android Fragmentation with Topic Analysis of Vendor-Specific Bugs , 2012, 2012 19th Working Conference on Reverse Engineering.

[51]  Paul M. Greenawalt Modeling power management for hard disks , 1994, Proceedings of International Workshop on Modeling, Analysis and Simulation of Computer and Telecommunication Systems.

[52]  Chenlei Zhang The Impact of User Choice and Software Change on Energy Consumption , 2013 .

[53]  Ming Zhang,et al.  Bootstrapping energy debugging on smartphones: a first look at energy bugs in mobile devices , 2011, HotNets-X.

[54]  Abram Hindle,et al.  What do programmers know about the energy consumption of software? , 2015, PeerJ Prepr..

[55]  Sasu Tarkoma,et al.  Energy modeling of system settings: A crowdsourced approach , 2015, 2015 IEEE International Conference on Pervasive Computing and Communications (PerCom).

[56]  Abram Hindle,et al.  What do programmers know about the energy consumption of software , 2015 .

[57]  Abram Hindle,et al.  Green mining: a methodology of relating software change and configuration to power consumption , 2013, Empirical Software Engineering.

[58]  Abhik Roychoudhury,et al.  Detecting energy bugs and hotspots in mobile apps , 2014, SIGSOFT FSE.

[59]  Tom Mens,et al.  A Historical Analysis of Debian Package Incompatibilities , 2015, 2015 IEEE/ACM 12th Working Conference on Mining Software Repositories.