Skip to main content
Log in

Green mining: a methodology of relating software change and configuration to power consumption

  • Published:
Empirical Software Engineering Aims and scope Submit manuscript

Abstract

Power consumption is becoming more and more important with the increased popularity of smart-phones, tablets and laptops. The threat of reducing a customer’s battery-life now hangs over the software developer, who now asks, “will this next change be the one that causes my software to drain a customer’s battery?” One solution is to detect power consumption regressions by measuring the power usage of tests, but this is time-consuming and often noisy. An alternative is to rely on software metrics that allow us to estimate the impact that a change might have on power consumption thus relieving the developer from expensive testing. This paper presents a general methodology for investigating the impact of software change on power consumption, we relate power consumption to software changes, and then investigate the impact of OO software metrics and churn metrics on power consumption. We demonstrated that software change can effect power consumption using the Firefox web-browser and the Azureus/Vuze BitTorrent client. We found evidence of a potential relationship between some software metrics and power consumption. We also investigate the effect of library versioning on the power consumption of rTorrent. In conclusion, we investigate the effect of software change on power consumption on two projects; and we provide an initial investigation on the impact of software metrics on power consumption.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11

Similar content being viewed by others

Notes

  1. For more information on the Watts Up? Pro see https://www.wattsupmeters.com/secure/products.php?pn=0&wai=837&spec=4.

  2. Further details can be seen here: https://wiki.mozilla.org/Electrolysis.

References

  • Amsel N, Tomlinson B (2010) Green tracker: a tool for estimating the energy consumption of software. In: Proceedings, CHI EA. ACM, New York, NY, pp 3337–3342

    Google Scholar 

  • Apple Inc (2010) iOS application programming guide: tuning for performance and responsiveness. http://ur1.ca/696vh. Accessed 31 Jan 2012

  • Dong M, Zhong L (2011) Self-constructive, high-rate energy modeling for battery-powered mobile systems. In: Proc. ACM/USENIX int. conf. mobile systems, applications, and services (MobiSys)

  • Fei Y, Ravi S, Raghunathan A, Jha NK (2007) Energy-optimizing source code transformations for operating system-driven embedded software. ACM Trans Embed Comput Syst 7:2:1–2:26

    Google Scholar 

  • Godard S (2013) Sysstat utilities home page. http://pagesperso-orange.fr/sebastien.godard/. Accessed 31 Jan 2012

  • Gray C (2010) Performance considerations for Windows Phone 7. http://create.msdn.com/downloads/?id=636. Accessed 31 Jan 2012

  • Greenawalt P (1994) Modeling power management for hard disks. In: Proceedings of the second international workshop on MASCOTS ’94, pp 62–66

  • Gupta A, Zimmermann T, Bird C, Naggapan N, Bhat T, Emran S (2011) Energy consumption in Windows Phone. Tech. Rep. MSR-TR-2011-106, Microsoft Research

  • Gurumurthi S, Sivasubramaniam A, Irwin M, Vijaykrishnan N, Kandemir M (2002) Using complete machine simulation for software power estimation: the SoftWatt approach. In: Proc. of 8th int. symp. high-performance computer architecture

  • Hindle A (2012a) Green mining: a methodology of relating software change to power consumption. In: 2012 9th IEEE working conference on Mining Software Repositories (MSR), pp 78–87. http://greenmining.softwareprocess.es/. Accessed 31 Jan 2012

  • Hindle A (2012b) Green mining: investigating power consumption across versions. In: Proceedings, ICSE: NIER Track. IEEE Computer Society. http://ur1.ca/84vh4. Accessed 31 Jan 2012

  • IBM (2011) IBM active energy manager. http://www.ibm.com/systems/management/director/about/director52/extensions/actengmrg.html. Accessed 31 Jan 2012

  • Intel (2011) LessWatts.org—saving power on intel systems with linux. http://www.lesswatts.org. Accessed 31 Jan 2012

  • Jureczko M, Spinellis D (2010) Using object-oriented design metrics to predict software defects. In: Monographs of system dependability, vol models and methodology of system dependability. Oficyna Wydawnicza Politechniki Wroclawskiej, Wroclaw, Poland, pp 69–81. http://gromit.iiar.pwr.wroc.pl/p_inf/ckjm/. Accessed 31 Jan 2012

  • Kocher P, Jaffe J, Jun B (1999) Differential power analysis. In: Wiener M (ed) Advances in cryptology CRYPTO 99. Lecture notes in computer science, vol 1666. Springer, Berlin/Heidelberg, pp 789–789

    Google Scholar 

  • Larabel M (2007) Ubuntu’s power consumption tested. http://www.phoronix.com/scan.php?page=article&item=878. Accessed 31 Jan 2012

  • Lattanzi E, Acquaviva A, Bogliolo A (2004) Run-time software monitor of the power consumption of wireless network interface cards. In: Integrated circuit and system design. Power and timing modeling, optimization and simulation. Lecture notes in computer science, vol 3254. Springer, Berlin/Heidelberg, pp 352–361

    Chapter  Google Scholar 

  • Li L, Liang CJM, Liu J, Nath S, Terzis A, Faloutsos C (2011) Thermocast: a cyber-physical forecasting model for data centers. In: Proceedings, ACM SIGKDD. ACM

  • Murugesan S (2008) Harnessing Green IT: principles and practices. IT Prof 10(1):24–33

    Article  Google Scholar 

  • Nagappan N, Ball T (2005) Use of relative code churn measures to predict system defect density. In: 27th international conference on software engineering, 2005. ICSE 2005. Proceedings. IEEE, pp 284–292

  • Selby JWA (2011) Unconventional applications of compiler analysis. Ph.D. thesis, University of Waterloo

  • Shang W, Jiang ZM, Adams B, Hassan AE, Godfrey MW, Nasser MN, Flora P (2011) An exploratory study of the evolution of communicated information about the execution of large software systems. In: WCRE, pp 335–344

  • Spinellis D (2005) Tool writing: a forgotten art? IEEE Softw 22(4):9–11. doi:10.1109/MS.2005.111. http://www.spinellis.gr/pubs/jrnl/2005-IEEESW-TotT/html/v22n4.html

    Article  Google Scholar 

  • Sundell J (2009) [Libtorrent-devel] LibTorrent 0.12.6 and rTorrent 0.8.6 released. http://rakshasa.no/pipermail/libtorrent-devel/2009-November/002361.html. Accessed 31 Jan 2012

  • Sundell J (2010) [Libtorrent-devel] LibTorrent 0.12.7 and rTorrent 0.8.7 released. http://rakshasa.no/pipermail/libtorrent-devel/2009-November/002539.html. Accessed 31 Jan 2012

  • Sundell J (2012) libTorrent and rTorrent project. http://libtorrent.rakshasa.no/. Accessed 31 Jan 2012

  • Tiwari V, Malik S, Wolfe A, Tien-Chien Lee M (1996) Instruction level power analysis and optimization of software. J VLSI Sig Proc Syst 13:223–238

    Article  Google Scholar 

  • US Department of Energy (2012) Energy explained: electricity. http://www.eia.gov/energyexplained/index.cfm?page=electricity_home#tab2. Accessed 31 Jan 2012

  • Zhang L, Tiwana B, Qian Z, Wang Z, Dick RP, Mao ZM, Yang L (2010) Accurate online power estimation and automatic battery behavior based power model generation for smartphones. In: Proceedings of the eighth IEEE/ACM/IFIP international conference on hardware/software codesign and system synthesis, CODES/ISSS ’10. ACM, New York, NY, pp 105–114. doi:10.1145/1878961.1878982. Accessed 31 Jan 2012

    Chapter  Google Scholar 

Download references

Acknowledgements

Thanks to Taras Glek of Mozilla, Andrew Wong, Philippe Vachon, and Andrew Neitsch. This research was supported by an NSERC discovery grant.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Abram Hindle.

Additional information

Communicated by: Tao Xie and Massimiliano di Penta

Rights and permissions

Reprints and permissions

About this article

Cite this article

Hindle, A. Green mining: a methodology of relating software change and configuration to power consumption. Empir Software Eng 20, 374–409 (2015). https://doi.org/10.1007/s10664-013-9276-6

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10664-013-9276-6

Keywords

Navigation