Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Detecting Anomalous Energy Consumption in Android Applications


Published on

Presentation @ UFPE September 2014

  • Be the first to comment

  • Be the first to like this

Detecting Anomalous Energy Consumption in Android Applications

  1. 1. Detecting Anomalous Energy Consumption in Android Applications GENTES-CIN, UFPE September 10, 2014 (based on Marco Couto's Msc thesis) João Saraiva
  2. 2. Green Software Lab @ PT X
  3. 3. Going Green + = X
  4. 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. 5. Green Computing – Greenness by IT X “up to 90% of energy used by ICT hardware can be attributed to software” - [Standard, 2013]
  6. 6. Green Computing– Greenness of IT X
  7. 7. Energy: a Sw Engineering Concern X Mining questions about software energy consumption - [Pinto et al., 2014]
  8. 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. 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
  10. 10. The Android Power Tutor Comsumption Model X
  11. 11. Model: Dynamic Callibration and API X Calibration Model as an API
  12. 12. Apps Source Code Instrumentation X Android Testing Framework used to execute the instrumented Green-aware Source Code
  13. 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.
  14. 14. GreenDroid: Source Code Energy Profiler X
  15. 15. GreenDroid in Practice X Comsumption per second: Execution Time: Is faster greener?!
  16. 16. GreenDroid: Energy Smells X (We reused Gzoltar Fault Localization Framework)
  17. 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. 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. 19. Detecting Anomalous Energy Consumption in Android Applications GENTES-CIN, UFPE September 10, 2014 João Saraiva