Abstract

Designing system software currently optimizes program code for correctness and speed. While this is essential for the reliable operation of computer systems, these two characteristics alone are often not sufficient. Moreover, it is important to ensure that a third characteristic is being considered during the process of designing system software: energy efficiency. As optimizing program code for energy efficiency is a tedious and time-consuming task we are working on SEEP [1], a project which provides a programming framework to assist developers at the task of energyaware programming. The framework is named after two of its key components: symbolic execution and energy profiles. In this position paper, we introduce the SEEP approach, detail our current work, and discuss future challenges. We believe that it is essential to supply software developers and software designers with the right set of tools in order to ease the process of energy-aware programming. We have identified the current modus operandi to be hindering for energy-efficient software development. Today, developers need to analyze program code for energy hotspots manually. This task is being performed in a reactive manner. Program code is first being developed and afterwards being analyzed for defects with regard to unusually high energy consumption. This manual task is cumbersome for two reasons. First, the efforts required to analyze program code for energy efficiency grow exponentially with the number of program paths of the application. Second, the amount of energy consumed differs among heterogeneous hardware platforms. Developers are required to evaluate the software on various platforms which makes the task of identifying and solving energy bugs even more unappealing.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call