Energy-Aware Software Engineering

Research output: Chapter in Book/Report/Conference proceedingBook chapterResearchpeer-review

Abstract

A great deal of energy in Information and Communication Technology (ICT) systems can be wasted by software, regardless of how energy-efficient the underlying hardware is. To avoid such waste, programmers need to understand the energy consumption of programs during the development process rather than waiting to measure energy after deployment. Such understanding is hindered by the large conceptual gap from hardware, where energy is consumed, to high-level languages and programming abstractions. The approaches described in this chapter involve two main topics: energy modelling and energy analysis. The purpose of modelling is to attribute energy values to programming constructs, whether at the level of machine instructions, intermediate code or source code. Energy analysis involves inferring the energy consumption of a program from the program semantics along with an energy model. Finally, the chapter discusses how energy analysis and modelling techniques can be incorporated in software engineering tools, including existing compilers, to assist the energy-aware programmer to optimise the energy consumption of code.
Original languageEnglish
Title of host publicationICT - Energy Concepts for Energy Efficiency and Sustainability
EditorsGiorgos Fagas, Luca Gammaitoni, John P. Gallagher, Douglas J. Paul
PublisherInTechOpen
Publication date22 Mar 2017
Pages103-127
Chapter5
ISBN (Print)978-953-51-3011-6
ISBN (Electronic)978-953-51-3012-3
DOIs
Publication statusPublished - 22 Mar 2017

Keywords

  • energy modelling
  • software engineering
  • energy aware
  • energy transparency
  • energy analysis

Cite this