The proposal explores how software designers and developers with can obtain information about the power behavior of the software they are developing and guide them toward designing and developing more energy efficient solutions. Very little is understood today about what factors in software design/development influence power consumption, and therefore this exploratory project will do empirical studies to measure the power consumption of executing software and map the power profiles to implementation and design properties of the software applications. The research will measure power consumption of executing software and map it to code sequences, then identify a set of program properties that are correlated to specific power consumption behavior. While research on energy sustainability has so far focused on the role of hardware design, compilation techniques aimed at optimizing with respect to power consumption, and operating systems, this exploratory project is aimed at understanding how the programming the source code can be correlated to low-power implementations.

Project Report

This research makes significant contributions toward energy-aware software engineering. This project’s two major outcomes are: (1) empirical studies of the impacts of key software engineering decisions (i.e., software refactorings for increased maintainability and code obfuscations for increased security and privacy) on software energy usage, and (2) the design of a framework for supporting cost-benefit analyses of different software design and implementation decisions with respect to energy usage. These outcomes form a basis for a variety of different tools for software developers and maintainers to assess and manage power usage in their applications. The research is transformative, as it enables "greeness" to become a design property that software developers can analyze along with more traditional non-functional requirements. As a result of this project, the software that is used by scientists, engineers, and the general public will ultimately be more energy efficient. The conducted research strengthens the ability of software engineers to take part in managing the power consumption of their applications. Their awareness of the importance of creating energy efficient software will be increased by the results of the conducted empirical studies and their ability to actually improve the energy efficiency of their software will be improved by the developed tools and techniques. Two PhD students (1 female), and four undergraduate students have been trained in the research process, including communication skill building. Both data and the developed energy monitoring platforms provide infrastructure for teaching and research in building energy efficient software. The results have been disseminated by: (1) publishing and presenting papers at top-tier conferences and workshops, and (2) providing experimental protocols, subjects, and data publicly on the project's websites.

Project Start
Project End
Budget Start
2012-06-01
Budget End
2014-05-31
Support Year
Fiscal Year
2012
Total Cost
$105,462
Indirect Cost
Name
University of Delaware
Department
Type
DUNS #
City
Newark
State
DE
Country
United States
Zip Code
19716