1. bookVolume 26 (2021): Issue 1 (May 2021)
Journal Details
First Published
08 Nov 2012
Publication timeframe
2 times per year
access type Open Access

Evaluating the Impact of Design Pattern Usage on Energy Consumption of Applications for Mobile Platform

Published Online: 04 Jun 2021
Page range: 1 - 11
Journal Details
First Published
08 Nov 2012
Publication timeframe
2 times per year

Energy efficiency in mobile computing is really an important issue these days. Owing to the popularity and prevalence of Android operating system among the people, a great number of Android smartphone applications have been developed and proliferated by the software developers. While developing these applications, developers have to keep energy consumption factor in mind, as the efficiency of an application is largely affected by it. Thus, designers and programmers endeavour to choose the best designing approaches to develop energy-efficient applications. It is imperative to assist the programmers in choosing appropriate techniques and strategies to manage power consumption. In the present research, we have investigated the effect of Android application design on its energy utilisation. For this purpose, we have practically implemented design patterns on two Android applications and evaluated their energy consumption before and after implementing these patterns. We have modelled the high-level design of these two Android applications by using software design patterns in such a way as to abate their energy requirement. We have also checked how the quality, maintainability, and efficiency of code are affected by these design patterns. The outcomes of the research can facilitate programmers to utilise these details while developing energy efficient solutions.


[1] ISO & IEC, Software Engineering – Product Quality: Quality Model, 2001, vol. 1. Search in Google Scholar

[2] C. U. Smith and L. G. Williams, Performance Solutions: A Practical Guide to Creating Responsive, Scalable Software, vol. 23. Addison-Wesley Reading, 2002. Search in Google Scholar

[3] R. Leitch and E. Stroulia, “Assessing the Maintainability Benefits of Design Restructuring Using Dependency Analysis,” in Proceedings. 5th International Workshop on Enterprise Networking and Computing in Healthcare Industry (IEEE Cat. No. 03EX717). 2004, pp. 309–322. Search in Google Scholar

[4] E. Gamma, Design Patterns: Elements of Reusable Object-Oriented Software. Pearson Education India, 1995. Search in Google Scholar

[5] L. Zhang, B. Tiwana, Z. Qian, Z. Wang, R. P. Dick, Z. M. Mao, and L. Yang, “Accurate Online Power Estimation and Automatic Battery Behavior Based Power Model Generation for Smartphones,” in Proceedings of the eighth IEEE/ACM/IFIP international conference on Hardware/software codesign and system synthesis, 2010, pp. 105–114. https://doi.org/10.1145/1878961.1878982 Search in Google Scholar

[6] C. Bunse and H. Höpfner, “Resource Substitution with Components-Optimizing Energy Consumption,” in Proceedings of the Third International Conference on Software and Data Technologies, 2008, pp. 28–35. https://doi.org/10.5220/0001879000280035 Search in Google Scholar

[7] C. Bunse, H. Höpfner, S. Roychoudhury, and E. Mansour, “Energy Efficient Data Sorting Using Standard Sorting Algorithms,” in Software and Data Technologies. Springer, 2009, pp. 247–260. https://doi.org/10.1007/978-3-642-20116-5_19 Search in Google Scholar

[8] H. Höpfner and C. Bunse, “Energy Aware Data Management on AVR Micro Controller Based Systems,” ACM SIGSOFT Software Engineering Notes, vol. 35, no. 3, pp. 1–8, 2010. https://doi.org/10.1145/1764810.1764820 Search in Google Scholar

[9] C. Bunse and H. Höpfner, “OCEMES: Measuring Overall and Component-Based Energy Demands of Mobile and Embedded Systems,” in Proceedings of the 42. Annual Conference of the German Computer Society (Gesellschaft für Informatik e.V. (GI)), 2012. Search in Google Scholar

[10] M. Dong and L. Zhong, “Self-Constructive High-Rate System Energy Modeling for Battery-Powered Mobile Systems,” in Proceedings of the 9th International Conference on Mobile Systems, Applications, and Services, 2011, pp. 335–348. https://doi.org/10.1145/1999995.2000027 Search in Google Scholar

[11] A. Pathak, Y. C. Hu, M. Zhang, P. Bahl, and Y.-M. Wang, “Fine-Grained Power Modeling for Smartphones Using System Call Tracing,” in Proceedings of the Sixth Conference on Computer systems, 2011, pp. 153–168. https://doi.org/10.1145/1966445.1966460 Search in Google Scholar

[12] D. Gross and E. Yu, “From Non-Functional Requirements to Design Through Patterns,” Requirements Engineering, vol. 6, no. 1, pp. 18–36, 2001. https://doi.org/10.1007/s007660170013 Search in Google Scholar

[13] N. Mani, D. C. Petriu, and M. Woodside, “Towards Studying the Performance Effects of Design Patterns for Service Oriented Architecture,” in Proceedings of the 2nd ACM/SPEC International Conference on Performance Engineering, 2011, pp. 499–504. https://doi.org/10.1145/1958746.1958822 Search in Google Scholar

[14] V. Tiwari, S. Malik, and A. Wolfe, “Power Analysis of Embedded Software: A First Step Towards Software Power Minimization,” IEEE Transactions on Very Large Scale Integration (VLSI) Systems, vol. 2, no. 4, pp. 437–445, 1994. https://doi.org/10.1109/92.335012 Search in Google Scholar

[15] V. Tiwari, S. Malik, and A. Wolfe, “Compilation Techniques for Low Energy: An Overview,” in Proceedings of 1994 IEEE Symposium on Low Power Electronics, 1994, pp. 38–39. https://doi.org/10.1109/lpe.1994.573195 Search in Google Scholar

[16] H. Mehta, R. M. Owens, M. J. Irwin, R. Chen, and D. Ghosh, “Techniques for Low Energy Software,” in Proceedings of the 1997 International Symposium on Low Power Electronics and Design, 1997, pp. 72–75. https://doi.org/10.1145/263272.263286 Search in Google Scholar

[17] C. Bunse, M. Gottschalk, C. von Ossietzky, S. Naumann, and A. Winter, “2nd Workshop Energy Aware Software-Engineering and Development (EASED@BUIS),” Softwaretechnik-Trends, vol. 33, no. 2, pp. 2–3, May 2013. https://doi.org/10.1007/s40568-013-0019-z Search in Google Scholar

[18] T. Hönig, C. Eibel, W. Schröder-Preikschat, B. Cassens, and R. Kapitza, “Proactive Energy-Aware System Software Design with SEEP,” Softwaretechnik-Trends, vol. 33, no. 2, pp. 6–7, May 2013. https://doi.org/10.1007/s40568-013-0021-5 Search in Google Scholar

[19] T. Hönig, C. Eibel, R. Kapitza, and W. Schröder-Preikschat, “SEEP: Exploiting Symbolic Execution for Energy-Aware Programming,” ACM SIGOPS Operating Systems Review, vol. 45, no. 3, pp. 58–62, 2012. https://doi.org/10.1145/2094091.2094106 Search in Google Scholar

[20] S. Naumann, E. Kern, and M. Dick, “Classifying Green Software Engineering – The GREENSOFT Model,” Softwaretechnik-Trends, vol. 33, no. 2, pp. 18–19, May 2013. https://doi.org/10.1007/s40568-013-0027-z Search in Google Scholar

[21] M. Josefiok, M. Schröder, A. Winter, “An Energy Abstraction Layer for Mobile Computing Devices,” Softwaretechnik-Trends, vol. 33, no. 2, pp. 12–13, May 2013. https://doi.org/10.1007/s40568-013-0024-2 Search in Google Scholar

[22] A. Pathak, Y. C. Hu, and M. Zhang, “Where is the Energy Spent Inside My App? Fine Grained Energy Accounting on Smartphones with Eprof,” in Proceedings of the 7th ACM European Conference on Computer Systems, 2012, pp. 29–42. https://doi.org/10.1145/2168836.2168841 Search in Google Scholar

[23] P. Heinrich and C. Prehofer, “Network-Wide Energy Optimization for Adaptive Embedded Systems,” ACM SIGBED Review, vol. 10, no. 1, pp. 33–36, 2013. https://doi.org/10.1145/2492385.2492391 Search in Google Scholar

[24] D. Shorin and A. Zimmermann, “Evaluation of Embedded System Energy Usage with Extended UML Models,” Softwaretechnik-Trends, vol. 33, no. 2, pp. 16–17, May 2013. https://doi.org/10.1007/s40568-013-0026-0 Search in Google Scholar

[25] C. Stier, A. Koziolek, H. Groenda, and R. Reussner, “Model-Based Energy Efficiency Analysis of Software Architectures,” in European Conference on Software Architecture. Springer, 2015, pp. 221–238. https://doi.org/10.1007/978-3-319-23727-5_18 Search in Google Scholar

[26] R. Morales, R. Saborido, F. Khomh, F. Chicano, and G. Antoniol, “Anti-Patterns and the Energy Efficiency of Android Applications,” arXiv preprint arXiv:1610.05711, 2016. Search in Google Scholar

[27] K. Aggarwal, A. Hindle, and E. Stroulia, “Greenadvisor: A Tool for Analyzing the Impact of Software Evolution on Energy Consumption,” in 2015 IEEE international conference on software maintenance and evolution (ICSME), 2015, pp. 311–320. https://doi.org/10.1109/ICSM.2015.7332477 Search in Google Scholar

[28] I. Polato, D. Barbosa, A. Hindle, and F. Kon, “Hybrid HDFS: Decreasing energy consumption and speeding up hadoop using SSDs,” PeerJ PrePrints, vol. 3, pp. e1320v1, 2015. https://doi.org/10.7287/peerj.preprints.1320 Search in Google Scholar

[29] C. Pang, A. Hindle, B. Adams, and A. E. Hassan, “What Do Programmers Know About the Energy Consumption of Software?,” PeerJ PrePrints, vol. 3, p. e886v2, 2015. https://doi.org/10.7287/peerj.preprints.886 Search in Google Scholar

[30] C. Zhang, A. Hindle, and D. M. German, “The Impact of User Choice on Energy Consumption,” IEEE software, vol. 31, no. 3, pp. 69–75, 2014. https://doi.org/10.1109/MS.2014.27 Search in Google Scholar

[31] A. Hindle, A. Wilson, K. Rasmussen, E. J. Barlow, J. C. Campbell, and S. Romansky, “GreenMiner: A Hardware Based Mining Software Repositories Software Energy Consumption Framework,” in Proceedings of the 11th Working Conference on Mining Software Repositories, 2014, pp. 12–21. https://doi.org/10.1145/2597073.2597097 Search in Google Scholar

[32] S. Hao, D. Li, W. G. Halfond, and R. Govindan, “Estimating Mobile Application Energy Consumption Using Program Analysis,” in 2013 35th International Conference on Software Engineering (ICSE), 2013, pp. 92–101. https://doi.org/10.1109/ICSE.2013.6606555 Search in Google Scholar

[33] G. Pinto, F. Soares-Neto, and F. Castor, “Refactoring for Energy Efficiency: A Reflection on the State of the Art,” in 2015 IEEE/ACM 4th International Workshop on Green and Sustainable Software, 2015, pp. 29–35. https://doi.org/10.1109/GREENS.2015.12 Search in Google Scholar

[34] C. Sahin, L. Pollock, and J. Clause, “How Do Code Refactorings Affect Energy Usage?,” in Proceedings of the 8th ACM/IEEE International Symposium on Empirical Software Engineering and Measurement, 2014, pp. 1–10. https://doi.org/10.1145/2652524.2652538 Search in Google Scholar

[35] W. G. da Silva, L. Brisolara, U. B. Corrêa, and L. Carro, “Evaluation of the Impact of Code Refactoring on Embedded Software Efficiency,” in Proceedings of the 1st Workshop de Sistemas Embarcados, 2010, pp. 145–150. Search in Google Scholar

[36] G. Hecht, N. Moha, and R. Rouvoy, “An Empirical Study of the Performance Impacts of Android Code Smells,” in Proceedings of the International Conference on Mobile Software Engineering and Systems, 2016, pp. 59–69. https://doi.org/10.1145/2897073.2897100 Search in Google Scholar

[37] B. Tiwana, R. Dick, M. Gordon, L. Zhang, and Z. M. Mao, A Power Monitor for Android-Based Mobile Platforms. [Online]. Available: http://ziyang.eecs.umich.edu/projects/powertutor/ [Accessed: 2020]. Search in Google Scholar

[38] T. J. McCabe, “A Complexity Measure,” IEEE Transactions on Software Engineering, no. 4, pp. 308–320, 1976. https://doi.org/10.1109/TSE.1976.233837 Search in Google Scholar

[39] A. Qasim, S. Iqbal, Z. Aziz, S. A. R. Kazmi, A. Munawar, B. A. Gilani, and N. Qasim, “Handling Temporal Constraints in Interaction Protocols for Intelligent Multi-Agent Systems,” International Journal on Smart Sensing and Intelligent Systems, vol. 13, no. 1, pp. 1–15, 2020. https://doi.org/10.21307/ijssis-2020-020 Search in Google Scholar

[40] D. M. Vistro, A. Munawar, A. Iftikhar, A. Qasim, and A. U. Rehman, A.U., “Tertiary Care Hospital Monitoring System Using Wireless Sensors,” Journal of Critical Reviews, vol. 7, no. 10, pp. 1504–1511, 2020. Search in Google Scholar

[41] A. Qasim, H. M. B. Ameen, Z. Aziz, and A. Khalid, “Efficient Performative Actions for E-Commerce Agents,” Applied Computer Systems, vol. 25, no. 1, pp. 19–32, May 2020. https://doi.org/10.2478/acss-2020-0003 Search in Google Scholar

Recommended articles from Trend MD

Plan your remote conference with Sciendo