SEEDS: A Software Engineer’s Energy-optimization Decision Support Framework
Author : Manotas, Irene; Pollock, Lori; Clause, James
Booktitle : International Conference on Software Engineering (ICSE)
Date : Jun 2014
Publisher : ACM/IEEE
Keyword(s) : energy usage, software optimization, analysis framework
Document Type : In Conference Proceedings
Reducing the energy usage of software is becoming more important in many environments, in particular, battery-powered mobile devices, embedded systems and data centers. Recent empirical studies indicate that software engineers can support the goal of reducing energy usage by making design and implementation decisions in ways that take into consideration how such decisions impact the energy usage of an application. However, the large number of possible choices and the lack of feedback and information available to software engineers necessitates some form of automated decision-making support. This paper describes the fi rst known automated support for systematically optimizing the energy usage of applications by making code-level changes. It is eff ective at reducing energy usage while freeing developers from needing to deal with the low-level, tedious tasks of applying changes and monitoring the resulting impacts to the energy usage of their application. We present a general framework, SEEDS, as well as an instantiation of the framework that automatically optimizes Java applications by selecting the most energy-efficient library implementations for Java’s Collections API. Our empirical evaluation of the framework and instantiation show that it is possible to improve the energy usage of an application in a fully automated manner for a reasonable cost.