No description, website, or topics provided.
Java HTML
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
auxiliar/sunburst
build
libs
libsAdded
nbproject
src/greendroid
.gitignore
README.md
build.xml
config.cfg
example.xml
manifest.mf
projects.csv

README.md

GreenDroid

A tool to detect energy leaks in Android applications

What the tool does

GreenDroid tool can be used to determine the methods of an application that are must likely associated with anomalous energy consumptions. It does that by running a set of tests (typical Android tests, written using the Android test framework) and collecting the information about the methods invoked, the time each test spent and an estimate of the energy consumed per test.

Its workflow is the following:

  1. Receives the path to the application project and to the test project;
  2. Intruments the code of both the projects in order to enable tracing and power consumption measuring;
  3. Uses ant to build the .apk files of both projects;
  4. Installs them on the connected device;
  5. Runs the tests of the application;
  6. When tests are done, it pulls the information out off the device;
  7. Runs an algorithm to detect methods associated with anomalous energy consumption;
  8. Classify each method analyzed, and generate the result to a JSON file;

The JSON file contains data to be displayed in a sunburst diagram. That diagram can be found here, and a version edited by us can be found here

Current status

The GreenDroid tool is currently developed in a way that the input needed (application and test project) are set inside the application code. We intend to soon include a property/configuration file, where are the variables can be previously set.