Orka: A new technique to profile the energy usage of Android applications

Benjamin Westfield and Anandha Gopalan



Abstract:

The ever increasing complexity of mobile devices has opened new, exciting possibilities to both designers of applications and their end users. However, this technological improvement comes with an increase in power consumption, a drain that battery technology has not managed to keep up with. Due to this, application developers are now facing a new optimisation challenge not present for traditional software: minimising energy usage. Developers need guidance to help reduce energy usage while not compromising on the features of their application. Despite research identifying areas of code consuming high energy, developers currently don't possess the necessary tools to make judgements on their application's design based on this. This paper presents Orka, a new tool that analyses an Android application and provides feedback on exactly where the application is expanding energy, thus enabling developers to improve its energy-efficiency. Orka profiles an application using user-defined test cases, code injection techniques and bytecode analysis. Feedback provided is the energy usage at the method level as well as any consumption due to hardware used. Moreover, to be useful over the entire development life-cycle, this feedback is compared with feedback from previous versions of the application so as to monitor and improve the energy usage.