IDE Extension for Reasoning About Energy Consumption

Student thesis: Master Thesis and HD Thesis

  • Casper Susgaard Nielsen
  • Jacob Ruberg Nørhave
  • Anne Benedicte Abildgaard Ejsing
4. term, Software, Master (Master Programme)
This project explains the process of creating an IDE extension for Visual Studio Code. This extension is used to reason about the energy consumption at both the program and function level. We implement three approaches for obtaining energy consumption estimates, being statically using machine learning and an energy model and dynamically using RAPL. For the static analysis we create an interpreter for CIL code to count the number of times each CIL instruction encountered during interpretation. To evaluate the accuracy of the static approaches we use the dynamically measured values as the ground truth and compares the statically obtained values to this. Based on these results, the non-linear machine learning creates better estimates than the energy model and the linear machine learning models. The energy model creates better estimates than the linear models, except for lasso regression. The estimation approach with the least error is the random forest machine learning model.
Publication date2021
Number of pages87
ID: 414468829