Detecting Anomalous Energy Consumption in Android Applications
1. Detecting Anomalous Energy
Consumption in
Android Applications
GENTES-CIN, UFPE
September 10, 2014
(based on Marco Couto's Msc thesis)
João Saraiva
jas@di.uminho.pt
http://di.uminho.pt/~jas
4. Green Computing
• Caught the attention of many companies allowing
them to save:
X
“close to 50% of the energy costs of an organization can be
attributed to the IT departments”
- [Harmon and Auseklis, 2009]
5. Green Computing – Greenness by IT
X
“up to 90% of energy used by ICT
hardware can be attributed to
software”
- [Standard, 2013]
7. Energy: a Sw Engineering Concern
X
Mining questions about software energy
consumption
- [Pinto et al., 2014]
8. Energy: A Sw Engineering Concern
X
Unfortunately, there are no techniques nor tools to support
sw engineers analysing/improving their green software as
they have to improve sw performance (runtime)
-
C: Debugger Java: Faul Localization Haskell: Heap Profiler
9. This Talk:
1.The Android Power Tutor Consumption Model
2.Energy Consumption in Android Apps Source Code
3.Green-aware Classication of Source Code Methods
4.GreenDroid: An Android Framework for Energy Proling
5.PVE Research Questions
X
12. Apps Source Code Instrumentation
X
Android Testing Framework used to execute the instrumented
Green-aware Source Code
13. Green-aware Classification of Source Code
X
Green Methods: These are the methods that have no interference in
the anomalous energy consumptions. They are never invoked when
a test of the application consumes more energy than the average.
Red Methods: Every time they are invoked, the application has
anomalous energy consumption. They can be invoked when the
application has bellow the average energy consumption as well, but
no more than 30% of the times. They are supposed to be the
methods with bigger influence in the anomalous energy consumption.
Yellow Methods: The methods that are invoked in other situations:
mostly invoked when the application power consumption is bellow the
average.
17. Spetrum-based Energy Fault Localization
X
Tests
Components
t1 t2 t3 t4 t5
1
1
1111
1
1100
1 1
1 1 1
1 1 1
1 1
1 0 1
1 0 1
1 1 1
0.3
0.3
0.3
0.7
0.7
0.3
1 0 1 0 1
But, what is pass/fail for energy comsumption?!
18. PVE Research Questions:
X
1.When is faster/slower greener?
(compiler optimizations, garbage colletion, etc)
2.How to (better) adapt SFL for Green Computing?
3.Green-aware Software Product Lines?
19. Detecting Anomalous Energy
Consumption in
Android Applications
GENTES-CIN,
UFPE
September 10,
2014
João Saraiva
jas@di.uminho.pt
http://di.uminho.pt/~jas