Advertisement

On the Impact of Code Obfuscation to Software Energy Consumption

  • Christian BunseEmail author
Conference paper
Part of the Progress in IS book series (PROIS)

Abstract

The energy consumption of software systems is an area of increasing interest, especially for mobile application developers. A number of studies have been published that address possible optimizations of energy use and linked quality attributes such as performance. Of equal importance are, at least for commercial software systems, the protection of intellectual knowledge (IP) and the fight against software piracy (e.g., by code obfuscation to prevent reverse engineering). The mutual relations between energy consumption and IP protection force developers to strike a balance between them. This paper reports on the results of an empirical study on the effects of code level obfuscation by executing a number of usage scenarios across a set of ten Android applications. Results indicate that code-level obfuscation can have a significant impact on energy usage and performance and are likely to increase than decrease.

Keywords

Energy efficiency Software development Obfuscation 

References

  1. Bakker A (2014) Comparing energy profilers for android. In Proceedings of the 21st twente student conference on IT, Enschede, The NetherlandsGoogle Scholar
  2. Batchelder M (2006) Java obfuscation techniques. http://www.sable.mcgill.ca/JBCO/examples.html
  3. Bunse C (2014) On the impact of user feedback on energy consumption. In: 28th international conference on informatics for environmental protection, Oldenburg, GermanyGoogle Scholar
  4. Bunse C, Rohde A (2016) Software development guidelines for performance and energy: initial case studies. In: EnviroInfo2016, 30th international conference, BerlinGoogle Scholar
  5. Bunse C, Stiemer S (2013) On the energy consumption of design patterns. Softwaretechnik-Trends 33(2)Google Scholar
  6. Bunse C, Höpfner H, Roychoudhury S, Mansour E (2014) Choosing the best sorting algorithm for optimal energy consumption. In: Proceedings of the 4th international conference on software and data technologiesGoogle Scholar
  7. Feeney L (2001) An energy consumption model for performance analysis of routing protocols for mobile ad hoc networks. Mobile Netw Appl 6(3)Google Scholar
  8. Gurun S, Nagpurkar P, Zhao B (2006) Energy consumption and conservation in mobile peer-to-peer systems. In: 1st international workshop on decentralized resource sharing in mobile computing and networkingGoogle Scholar
  9. Höpfner H, Bunse C (2011) Energy awareness needs a rethinking in software development. In: 6th international conference on software and data technologies, Seville, SpainGoogle Scholar
  10. RobotiumTech (2016) Robotium—user scenario testing for android. https://github.com/RobotiumTech/robotium
  11. Sahin C, Wan M, Tornquist P, McKenna R, Pearson Z, Halfond WGJ, Clause J (2016) How does code obfuscation impact energy usage? J Softw: Evol Process 28(7):565–588Google Scholar
  12. Sahin C, Pollock L (2014) How do code refactorings affect energy usage? In: Proceedings of the 8th international symposium on empirical software engineering and measurementGoogle Scholar
  13. Schirmer M, Höpfner H (2012) Software-based energy requirement measurement for smartphones. In: 42nd GI JahrestagungGoogle Scholar
  14. Wilke C, Richly S, Götz S, Assmann U (2013) Energy profiling as a service. In: 43rd GI Jahrestagung 2013, Koblenz, GermanyGoogle Scholar
  15. Zhang L, Tiwana B, Qian Z, Wang Z, Dick R, Mao Z, Yang L (2010) Accurate online power estimation and automatic battery behavior based power model generation for smartphones. In: Proceedings of the 8th IEEE/ACM/IFIP international conference on hardware/software codesign and system synthesis. ACMGoogle Scholar

Copyright information

© Springer International Publishing AG 2018

Authors and Affiliations

  1. 1.Hochschule StralsundStralsundGermany

Personalised recommendations