EACOF: A Framework for Providing Energy Transparency to enable Energy-Aware Software Development

Hayden Field, Glen Anderson, Kerstin I Eder

Research output: Chapter in Book/Report/Conference proceedingConference Contribution (Conference Proceeding)

9 Citations (Scopus)
92 Downloads (Pure)


Making energy consumption data accessible to software developers is an
essential step towards energy efficient software engineering. The presence of
various different, bespoke and incompatible, methods of instrumentation to
obtain energy readings is currently limiting the widespread use of energy data
in software development. This paper presents EACOF, a modular Energy-Aware
Computing Framework that provides a layer of abstraction between sources of
energy data and the applications that exploit them. EACOF replaces platform
specific instrumentation through two APIs - one accepts input to the framework
while the other provides access to application software. This allows developers
to profile their code for energy consumption in an easy and portable manner
using simple API calls. We outline the design of our framework and provide
details of the API functionality. In a use case, where we investigate the
impact of data bit width on the energy consumption of various sorting
algorithms, we demonstrate that the data obtained using EACOF provides
interesting, sometimes counter-intuitive, insights. All the code is available
online under an open source license. http://github.com/eacof
Original languageEnglish
Title of host publicationProceedings of the 29th Annual ACM Symposium on Applied Computing (SAC'14)
Place of PublicationNew York, NY, USA
PublisherAssociation for Computing Machinery (ACM)
Number of pages6
ISBN (Electronic)978-1-4503-2469-4
Publication statusPublished - 31 May 2014


  • energy efficiency
  • energy efficient computing
  • energy aware computing
  • energy transparency
  • energy monitoring of software
  • energy efficient software engineering


Dive into the research topics of 'EACOF: A Framework for Providing Energy Transparency to enable Energy-Aware Software Development'. Together they form a unique fingerprint.

Cite this