The project is no longer available

Energy consumption of programs and computation

In this project, you will investigate the extent to which we can develop an understanding of models for energy-aware programming and implement the necessary tools to support this initiative. The idea behind an energy-aware programming model is to assist programmers in making programming choices that lead to lower energy consumption. Currently, we teach students how to optimize their code for memory and cache behavior to achieve faster execution; program libraries and algorithms are designed with this in mind. However, we lack comparable skills training related to energy consumption.

Project
In this project, you will explore the existing understanding of the energy costs associated with computation and the current knowledge of programming languages and program transformations (compilers, optimizers, etc.). Modern compilers, whether they are static compilers for languages like C or C# or just-in-time compilers like those for Java, implement extensive optimizations. However, these optimizations do not necessarily lead to reduced energy usage, as they have historically focused primarily on improving program speed.

You will also work on methods to better quantify and evaluate the efficiency of specific, representative programs. To assess the programs and various program transformations, it is essential to understand their behavior. This investigation is similar to evaluating program efficiency through execution and analysis of their runtime behavior.

Relevant IFI courses for this project

During this master project, you will need to get good foundational understanding of programming languages and transformation. Relevant courses during this project would be:

Related project:
https://www.mn.uio.no/ifi/english/research/projects/leap/index.html

This following project can be done both as at 60 ECTS and 30 ECTS project.

Published Sep. 15, 2025 11:01 AM - Last modified Oct. 5, 2026 4:00 PM

Supervisor(s)

Scope (credits)

60