Paper Presentation by Ana Oprescu @ICT4S
European Union has aggregated the current societal concerns into two seemingly orthogonal directions: the Green Deal and the GDPR. In this paper, we begin to analyse trade-offs in preserving privacy, learning from the data, and saving energy. Considerable research studied the energy efficiency of software and the accuracy of machine learning models trained on anonymised datasets. However, to the best of our knowledge, no research has been conducted on the impact of anonymisation techniques on energy consumption. We measure the impact of anonymisation on the energy consumption and on the accuracy of machine learning models.
We find that the k-value has a statistically significant impact on the energy consumption of the chosen anonymization algorithms. In terms of the accuracy of machine learning models, the generalisation and suppression performs better in almost all cases, provided that proper anonymization hierarchies are used in the anonymization process. However, we find that for the larger and more complex dataset, the reduction in accuracy is limited while there is a significant difference in energy consumption. Thus when considering energy consumption we conclude that for larger datasets it might be worthwhile to consider using microaggregation over generalisation and suppression.
During the same event, Lukas Koedijk also presented the paper co-authored with Ana Oprescu based on his master graduation project on the Energy Footprint of Programming Languages. Lukas is an alumnus of the Software Engineering master, now working at KPMG.
We find that the choice of programming language and the way of writing your program influences the energy consumption. The programming languages that consume the least amount of energy over all the problems are C and C++, albeit these programming languages consume more energy when compilation flags are minimized. However, in some cases we could not prove that there was a difference in the energy consumption. We also find that the hardware used to run the programs has an influence on the energy consumption. We find that the runtime of a program correlates with the energy consumption, but a shorter runtime does not necessarily result in a lower energy consumption.
During the colocated SusTrainable workshop, Ana also presented current research efforts on Energy-driven Software Engineering. The workshop was organised by the Erasmus+ project SusTrainable, in which UvA is a partner.
The EU Climate Law targets climate neutrality by 2050. At the same time, the Knowledge Economy is deemed crucial to EU prosperity. Thus, the energy footprint of software services remains an important topic of research and education. In these lecture notes, we set out to educate students on energy-aware software engineering. We show how to establish whether some programming languages are inherently more “green”. We also show how to assess whether established software smells (anti-patterns) are also energy-related smells.