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.

PresentationMeasuring and Visualizing Energy Consumption within Software Code

272 views

Published on

VL/HCC'14 Graduate Consorcium

  • Be the first to comment

  • Be the first to like this

PresentationMeasuring and Visualizing Energy Consumption within Software Code

  1. 1. Measuring and Visualizing Energy Consumption within Software Code Tiago Carção University of Minho, Braga, Portugal Supervisors: João Saraiva Jácome Cunha Graduate Consortium - VL/HCC 2014
  2. 2. Do the developers concern themselves with energy consumption during the development process? How can we display that information to the developers? What type of information should be presented to the developers?
  3. 3. Why Energy? 1
  4. 4. Why software? 2
  5. 5. Isolation Responsibility Identification and improvement Quantification What type of information do developers have? 3
  6. 6. Spectrum-based Fault Localization 4
  7. 7. Tests t1 t2 t3 t4 t5 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 0 1 1 0 1 1 1 1 0 1 0 1 Spectrum-based Fault Localization 4 Does the test output matches the expected output?
  8. 8. Tests t1 t2 t3 t4 t5 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 0 1 1 1 1 0.3 1 0 1 0 1 Spectrum-based Fault Localization 4
  9. 9. Tests t1 t2 t3 t4 t5 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 0 1 1 1 1 0.7 0.3 0.3 0.3 1 0 1 0 1 Spectrum-based Fault Localization 4
  10. 10. Tests t1 t2 t3 t4 t5 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 0 1 1 1 1 0.3 0.7 0.3 0.3 0.3 0.7 1 0 1 0 1 Enquire possible faults! Spectrum-based Fault Localization 4
  11. 11. How to adapt the SFL model for Energy Leak detection? What data to collect from the code execution? Decide what is a energy leak? 5
  12. 12. int first = 0, second = 1, next, c; for ( c = 0 ; c < number; c++ ) { if ( c <= 1 ) next = number; else { next = first + second; first = second; second = next; } } int fibonacciCalc(int number) { return next; } Source code instrumentation 6
  13. 13. #GET TIME & START MEASURING int first = 0, second = 1, next, c; for ( c = 0 ; c < number; c++ ) { if ( c <= 1 ) next = number; else { next = first + second; first = second; second = next; } } int fibonacciCalc(int number) { return next; } #GET TIME & END MEASURING Source code instrumentation 6
  14. 14. Metrics collected 7
  15. 15. SFL Adapted Tests t1 t2 t3 t4 t5 8
  16. 16. Tests t1 t2 t3 t4 t5 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 0 1 1 1 1 0.8 0.3 0.9 0.3 0.7 SFL Adapted 8
  17. 17. Tests t1 t2 t3 t4 t5 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 0 1 1 1 1 0.1 0.2 0.11 0.23 0.8 0.46 0.8 0.3 0.9 0.3 0.7 SFL Adapted 8
  18. 18. How to represent the information? 9
  19. 19. What we envision 10
  20. 20. Do the developers concern themselves with energy consumption during the development process? How can we display that information to the developers? What type of information should be presented to the developers?
  21. 21. Measuring and Visualizing Energy Consumption within Software Code Tiago Carção University of Minho, Braga, Portugal Supervisors: João Saraiva Jácome Cunha Graduate Consortium - VL/HCC 2014

×