Green mining: a methodology of relating software change and configuration to power consumption (original) (raw)
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.
Access this article
Subscribe and save
- Starting from 10 chapters or articles per month
- Access and download chapters and articles from more than 300k books and 2,500 journals
- Cancel anytime View plans
Buy Now
Price excludes VAT (USA)
Tax calculation will be finalised during checkout.
Instant access to the full article PDF.
Similar content being viewed by others
Notes
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
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
- Department of Computing Science, University of Alberta, Edmonton, AB, Canada
Abram Hindle
Corresponding author
Correspondence toAbram Hindle.
Additional information
Communicated by: Tao Xie and Massimiliano di Penta
Rights 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
- Published: 29 September 2013
- Issue date: April 2015
- DOI: https://doi.org/10.1007/s10664-013-9276-6