AAU Student Projects - visit Aalborg University's student projects portal
A master thesis from Aalborg University

An energy-oriented look into memoizability, using static analysis

Author(s)

Term

4. term

Education

Publication year

2021

Submitted on

2021-06-14

Pages

56 pages

Abstract

Energy awareness has become a hot topic in software development and computer science in recent years, due to realizations concerning the amount of energy consumed through ICT processes worldwide. Practitioner-oriented research reveals that a recurring problem in adopting energy-saving mentalities and techniques for developers is the lack of supporting tools in this area. In this thesis, we go over the development of `grint`, a *green linter* for JavaScript programs. `grint` is designed to detect functional purity in JavaScript functions, that can be optimized via memoization, in order to improve the energy consumption of the application. I test the efficacy of `grint` and memoization, as an energy optimization technique, on two open-source projects by running original and refactored versions, as part of an experimental suite, and comparing their energy consumption. I use Intel's RAPL to perform energy measurements. Measurements show that the memoized versions of the applications had consistently worse energy consumption rates than the original. This suggests that function memoizability is a more complex aspect of JavaScript functions, that is only conditioned by purity and not fully represented by it.

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.