Term
4. term
Education
Publication year
2022
Submitted on
2022-06-08
Pages
157 pages
Abstract
This project builds upon our research into the energy consumption of language constructs in C# to create a linter called Energy Analyzer. First, we create microbenchmarks, we use the results from these microbenchmarks and the microbenchmarks from our previous research, and apply them to larger benchmarks to see if the results can be generalized into larger programs. We use the results from the larger benchmarks to create Energy Analyzer, which is a NuGet package that aims to help developers write more energy efficient C# code. Energy Analyzer consists of two parts, a suggestion part, which finds C# constructs with energy efficient alternatives and gives the suggestion to change the construct to the energy efficient alternative. The second part is the code fix part, which, if chosen by the developer, automatically changes the construct to a more energy efficient one. We evaluate Energy Analyzer in both performance and usability, where we find 15,05% energy consumption can be saved in one benchmark, while no significant difference can be found in another benchmark, while the usability was satisfying for the tested developers.
This project builds upon our research into the energy consumption of language constructs in C# to create a linter called Energy Analyzer. First, we create microbenchmarks, we use the results from these microbenchmarks and the microbenchmarks from our previous research, and apply them to larger benchmarks to see if the results can be generalized into larger programs. We use the results from the larger benchmarks to create Energy Analyzer, which is a NuGet package that aims to help developers write more energy efficient C# code. Energy Analyzer consists of two parts, a suggestion part, which finds C# constructs with energy efficient alternatives and gives the suggestion to change the construct to the energy efficient alternative. The second part is the code fix part, which, if chosen by the developer, automatically changes the construct to a more energy efficient one. We evaluate Energy Analyzer in both performance and usability, where we find 15,05% energy consumption can be saved in one benchmark, while no significant difference can be found in another benchmark, while the usability was satisfying for the tested developers.
Keywords
Documents
Colophon: This page is part of the AAU Student Projects portal, which is run by Aalborg University. Here, you can find and download publicly available bachelor's theses and master's projects from across the university dating from 2008 onwards. Student projects from before 2008 are available in printed form at Aalborg University Library.
If you have any questions about AAU Student Projects or the research registration, dissemination and analysis at Aalborg University, please feel free to contact the VBN team. You can also find more information in the AAU Student Projects FAQs.