Publication | Closed Access
SEEDS: a software engineer's energy-optimization decision support framework
169
Citations
42
References
2014
Year
Unknown Venue
EngineeringEnergy EfficiencySoftware EngineeringSoftware EngineerEmbedded SystemsCollections ApiSoftware AnalysisEnergy OptimizationSystems EngineeringSearch-based Software EngineeringPower-aware SoftwarePower ManagementPower-aware ComputingEnergy ProfilingDesignComputer EngineeringEnergy UsageComputer ScienceMobile ComputingSoftware EngineersSoftware DesignEnergy ManagementProgram AnalysisPower-efficient ComputingSystem Software
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 first known automated support for systematically optimizing the energy usage of applications by making code-level changes. It is effective 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.
| Year | Citations | |
|---|---|---|
Page 1
Page 1