Power and energy estimation tools are essential tools that are used by system designers, software developers and compiler developers to optimize their products. In this work we present a novel method for statically estimating and analyzing the energy and power of programs, the method gives power and energy statistics on the feasible program paths for both the core and cache using symbolic execution.Unlike profile-guided optimizations—that require generating stimulus and running them on the target processor to cover all possible paths—or the dataflow analysis that traverse all control-flow-graph paths, our method traverses all feasible paths of the program. Our method is static, which enables running it at compile time. We demonstrated how the tool can be used to optimize the power and energy of programs at compile time by choosing compiler flags that minimize the energy or power of the program.
Bibliographical notePublisher Copyright:
© 2017, Springer Science+Business Media New York.
- B.9.2 energy-aware systems
- C.4.g Measurement
- Simulation of multiple-processor systems
ASJC Scopus subject areas
- Theoretical Computer Science
- Information Systems