DEEPC: Dynamic Energy Profiling of Components

Chinenyeze, S., Liu, X., Al-Dubai, A. (2016). DEEPC: Dynamic Energy Profiling of Components. In: (Ed.) 10th IEEE International Workshop on Quality-oriented Reuse of Software (QUORS’16) in conjunction with the 40th IEEE International Conference on Computers, Software & Applications (COMPSAC 2016), , () ( ed.). (pp. ). Georgia, USA: . .



Many software projects are built using reusable components (i.e. reusable objects - as per component and connectors in software architectures). During component selection in CBSD, components are evaluated on the criteria of required quality attribute prior to integration into a system. Current green software research exploring software energy efficiency as a quality attribute adopts conventional counter-based white box energy measuring approach. Although the conventional approach provides results at fine granularity, as with its adoption in component selection, the challenge is that to test software energy of each component, the test has to be done prior to integration, which means implementing multiple counters or multiple versions of the system – thus inefficient, especially when involving much components. In this paper, we present an approach and tool for dynamic energy profiling of components for software systems (DEEPC). The proposed approach employs AOP concepts to expedite the energy measurement of components and improve accuracy, by; i) dynamically loading related components for evaluation (load-time weaving) into the base system, as a way to circumvent manual counter implementation, ii) using pointcuts to facilitate power measurement of loaded components. An evaluation of DEEPC approach presents it to be more time and resource efficient with better profiling accuracy compared to its counterpart.
[Read More]


Samuel Chinenyeze
Research student
+44 131 455 2303
Xiaodong Liu
+44 131 455 2747

Areas of Expertise

Software Systems
The institute's expertise in software engineering encompasses the entire development lifecycle, and we focus on developing the approaches and tools to improve the engineering process of both emerging and widely used software systems.