Optimising Energy Consumption of Design Patterns

Software design patterns are widely used in software engineering to enhance productivity and maintainability.However, recent empirical studies revealed the high energy overhead in these patterns. Our vision is to automatically detect and transform design patterns during compilation for better energy efficiency without impacting existing coding practices. In this paper, we propose compiler transformations for two design patterns, Observer and Decorator, and perform an initial evaluation of their energy efficiency.

[1]  Y. N. Srikant,et al.  Compiler-directed frequency and voltage scaling for a multiple clock domain microarchitecture , 2008, CF '08.

[2]  Mahmut T. Kandemir,et al.  Reducing NoC energy consumption through compiler-directed channel voltage scaling , 2006, PLDI '06.

[3]  Tianzhou Chen,et al.  Dynamic Compilation Framework with DVS for Reducing Energy Consumption in Embedded Processors , 2008, 2008 International Conference on Embedded Software and Systems.

[4]  Jing Dong,et al.  A Review of Design Pattern Mining Techniques , 2009, Int. J. Softw. Eng. Knowl. Eng..

[5]  Lori L. Pollock,et al.  SEEDS: a software engineer's energy-optimization decision support framework , 2014, ICSE.

[6]  Rudolf Ferenc,et al.  Mining design patterns from C++ source code , 2003, International Conference on Software Maintenance, 2003. ICSM 2003. Proceedings..

[7]  Ronald A. Olsson,et al.  Reverse Engineering of Design Patterns from Java Source Code , 2006, 21st IEEE/ACM International Conference on Automated Software Engineering (ASE'06).

[8]  Christian Bunse,et al.  On the Energy Consumption of Design Patterns , 2013, Softwaretechnik-Trends.

[9]  Alexander Chatzigeorgiou,et al.  Design Pattern Detection Using Similarity Scoring , 2006, IEEE Transactions on Software Engineering.

[10]  Ding Li,et al.  Making web applications more energy efficient for OLED smartphones , 2014, ICSE.

[11]  P. David Stotts,et al.  SPQR: flexible automated design pattern extraction from source code , 2003, 18th IEEE International Conference on Automated Software Engineering, 2003. Proceedings..

[12]  Lori L. Pollock,et al.  Initial explorations on design pattern energy usage , 2012, 2012 First International Workshop on Green and Sustainable Software (GREENS).

[13]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[14]  Mahmut T. Kandemir,et al.  Compiler-Directed Energy Reduction Using Dynamic Voltage Scaling and Voltage Islands for Embedded Systems , 2013, IEEE Transactions on Computers.

[15]  Adel Noureddine Towards a Better Understanding of the Energy Consumption of Software Systems , 2014 .

[16]  Alexander Chatzigeorgiou,et al.  Energy Consumption Analysis of Design Patterns , 2007 .

[17]  Simon J. Hollis,et al.  Identifying Compiler Options to Minimize Energy Consumption for Embedded Platforms , 2013, Comput. J..