GreenDroid: A Tool for Analysing Energy Consumption in the Android Ecosystem – Marco Couto, Jácome Cunha, João Paulo Fernandes, Rui Pereira, João Saraiva
This paper presents GreenDroid, a tool for monitoring and analyzing power consumption for the Android ecosystem. This tool instruments the source code of a giving Android application and is able to estimate the power consumed when running it. Moreover, it uses advanced classification algorithms to detect abnormal power consumption and to relate them to fragments in the source code. A set of graphical results are produced that help software developers to identify abnormal power consumption in their source code.
The team was awarded research funding for 3 years by the Foundation for Science and Technology (FCT) with the project title: “Green Software Lab: Green Computing as an Engineering Discipline”!
A 3-year PhD grant funded by the Foundation for Science and Technology (FCT) was awarded to Rui Pereira for his PhD thesis titled “Analyzing and Optimizing Abnormal Energy Consumption in Software Systems”!
A member of the Green Software Lab will be working on energy analysis for Erlang at Ericsson Labs in Budapest on May 2015.
title: Detecting Energy Leaks in Source Code
title: Detecting Anomalous Energy Consumption in Android Applications
title: Detecting Anomalous Energy Consumption in Android Applications [Presentation]
Detecting Anomalous Energy Consumption in Android Applications – Marco Couto, Tiago Carção, Jácome Cunha, João Paulo Fernandes, João Saraiva
The use of powerful mobile devices, like smartphones, tablets and laptops, are changing the way programmers develop software. While in the past the primary goal to optimize software was the run time optimization, nowadays there is a growing awareness of the need to reduce energy consumption. This paper presents a technique and a tool to detect anomalous energy consumption in Android applications, and to relate it directly with the source code of the application. We propose a dynamically calibrated model for energy consumption for the Android ecosystem, and that supports different devices. The model is then used as an API to monitor the application execution: first, we instrument the application source code so that we can relate energy consumption to the application source code; second, we use a statistical approach, based on fault-localization techniques, to localize abnormal energy consumption in the source code.