Identification of Battery-Hungry Parts of Android Application Code
Identifikace energeticky náročných částí a aplikačního kódu pro Android
diploma thesis (NOT DEFENDED)
View/ Open
Permanent link
http://hdl.handle.net/20.500.11956/52072Identifiers
Study Information System: 117432
Collections
- Kvalifikační práce [11242]
Author
Advisor
Referee
Libič, Peter
Faculty / Institute
Faculty of Mathematics and Physics
Discipline
Software Systems
Department
Department of Distributed and Dependable Systems
Date of defense
9. 9. 2013
Publisher
Univerzita Karlova, Matematicko-fyzikální fakultaLanguage
English
Grade
Fail
Keywords (Czech)
Android, spotřeba energie, profilování energetické spotřebyKeywords (English)
Android, power consumption, power profilingV rozmezí pouhých čtyřiceti let vzrostl počet mobilních zařízení ve světě z nuly na číslo větší než je počet obyvatel Země. Výpočetní výkon a s ním i spotřeba těchto zařízení strmě stoupá; kvůli technologickým a prostorovým omezením se stává kapacita mobilních zdrojů energie jednou z největších překážek dalšího vývoje. Jelikož je požadavek na nízkou spotřebu energie poměrně nový, existuje velmi málo nástrojů, které se touto problematikou zabývají a existující nástroje trpí výraznými nedostatky. Cílem této práce je navrhnout a implementovat nástroj, který poslouží vývojářům mobilních aplikací pro operační systém Android při hledání energeticky náročných částí jejich kódu. Navržené řešení je založeno na dosud neodzkoušeném přístupu - na zkoumání odhadů spotřeby zařízení odvozených od stavu zařízení a informací o aktuálně vykonávaném kódu. Prototypová implementace je otestována na dvou aplikacích se závěrem, že navržený přístup může vývojáři poskytnout užitečné informace, ale v praxi naráží na technická omezení, která snižují jeho přesnost a brání tomu, aby se z něj stal plně automatizovaný nástroj pro identifikaci energeticky náročných částí aplikačního kódu pro platformu Android.
In just forty years, the number of mobile devices has exceeded the number of humans on Earth. With the growing computational capacity, the power demands of these devices are growing rapidly as well. Due to technological and spatial constraints, the capacity of mobile power sources has become one of the most important bottlenecks of further development. Moreover, since the power efficiency is a relatively new requirement, there are only a few tools addressing it, and the existing ones have certain drawbacks. The goal of this thesis is to design and implement a tool helping developers of Android mobile applications to identify the battery-hungry parts of application code. The proposed solution is based on a novel approach - examination of power use estimations derived from the device's state together with the information about the code that is currently being executed. The prototype implementation has been tested on two Android applications with the conclusion that the proposed approach can provide useful information to the developer, but in practice, it encounters technical limitations reducing its accuracy, and thus it can not be used as a fully automated tool for identification of battery-hungry parts of Android application code.