Green mining: Investigating power consumption across versions

Power consumption is increasingly becoming a concern for not only electrical engineers, but for software engineers as well, due to the increasing popularity of new power-limited contexts such as mobile-computing, smart-phones and cloud-computing. Software changes can alter software power consumption behaviour and can cause power performance regressions. By tracking software power consumption we can build models to provide suggestions to avoid power regressions. There is much research on software power consumption, but little focus on the relationship between software changes and power consumption. Most work measures the power consumption of a single software task; instead we seek to extend this work across the history (revisions) of a project. We develop a set of tests for a well established product and then run those tests across all versions of the product while recording the power usage of these tests. We provide and demonstrate a methodology that enables the analysis of power consumption performance for over 500 nightly builds of Firefox 3.6; we show that software change does induce changes in power consumption. This methodology and case study are a first step towards combining power measurement and mining software repositories research, thus enabling developers to avoid power regressions via power consumption awareness.

[1]  P. Gaubert,et al.  PERFORMANCE CONSIDERATIONS FOR , 2009 .

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

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

[4]  Mahmut T. Kandemir,et al.  Using complete machine simulation for software power estimation: the SoftWatt approach , 2002, Proceedings Eighth International Symposium on High Performance Computer Architecture.

[5]  Andrea Acquaviva,et al.  Run-Time Software Monitor of the Power Consumption of Wireless Network Interface Cards , 2004, PATMOS.

[6]  Jonathan I. Maletic,et al.  Journal of Software Maintenance and Evolution: Research and Practice Survey a Survey and Taxonomy of Approaches for Mining Software Repositories in the Context of Software Evolution , 2022 .

[7]  Jason W. A. Selby,et al.  Unconventional Applications of Compiler Analysis , 2011 .

[8]  Srivaths Ravi,et al.  Energy-optimizing source code transformations for operating system-driven embedded software , 2007, TECS.

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

[10]  San Murugesan,et al.  Harnessing Green IT: Principles and Practices , 2008, IT Professional.

[11]  Michael W. Godfrey,et al.  An Exploratory Study of the Evolution of Communicated Information about the Execution of Large Software Systems , 2011, 2011 18th Working Conference on Reverse Engineering.

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