{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,3,19]],"date-time":"2026-03-19T14:51:13Z","timestamp":1773931873676,"version":"3.50.1"},"reference-count":92,"publisher":"Association for Computing Machinery (ACM)","issue":"4","license":[{"start":{"date-parts":[[2019,8,30]],"date-time":"2019-08-30T00:00:00Z","timestamp":1567123200000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"name":"H2020 MSCA-ITN","award":["MSCA-ITN-2014-EID"],"award-info":[{"award-number":["MSCA-ITN-2014-EID"]}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Comput. Surv."],"published-print":{"date-parts":[[2020,7,31]]},"abstract":"<jats:p>\n            <jats:bold>Motivation:<\/jats:bold>\n            In modern\n            <jats:sc>it<\/jats:sc>\n            systems, the increasing demand for computational power is tightly coupled with ever higher energy consumption. Traditionally, energy efficiency research has focused on reducing energy consumption at the hardware level. Nevertheless, the software itself provides numerous opportunities for improving energy efficiency.\n          <\/jats:p>\n          <jats:p>\n            <jats:bold>Goal:<\/jats:bold>\n            Given that energy efficiency for\n            <jats:sc>it<\/jats:sc>\n            systems is a rising concern, we investigate existing work in the area of energy-aware software development and identify open research challenges. Our goal is to reveal limitations, features, and tradeoffs regarding energy-performance for software development and provide insights on existing approaches, tools, and techniques for energy-efficient programming.\n          <\/jats:p>\n          <jats:p>\n            <jats:bold>Method:<\/jats:bold>\n            We analyze and categorize research work mostly extracted from top-tier conferences and journals concerning energy efficiency across the software development lifecycle phases.\n          <\/jats:p>\n          <jats:p>\n            <jats:bold>Results:<\/jats:bold>\n            Our analysis shows that related work in this area has focused mainly on the implementation and verification phases of the software development lifecycle. Existing work shows that the use of parallel and approximate programming, source code analyzers, efficient data structures, coding practices, and specific programming languages can significantly increase energy efficiency. Moreover, the utilization of energy monitoring tools and benchmarks can provide insights for the software practitioners and raise energy-awareness during the development phase.\n          <\/jats:p>","DOI":"10.1145\/3337773","type":"journal-article","created":{"date-parts":[[2019,9,3]],"date-time":"2019-09-03T12:47:00Z","timestamp":1567514820000},"page":"1-33","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":54,"title":["Software Development Lifecycle for Energy Efficiency"],"prefix":"10.1145","volume":"52","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-3508-3163","authenticated-orcid":false,"given":"Stefanos","family":"Georgiou","sequence":"first","affiliation":[{"name":"Athens University of Economics and Business, Singular Logic S.A., Patision, Athina"}]},{"given":"Stamatia","family":"Rizou","sequence":"additional","affiliation":[{"name":"Singular Logic S.A., Greece"}]},{"given":"Diomidis","family":"Spinellis","sequence":"additional","affiliation":[{"name":"Athens University of Economics and Business, Patision, Athina"}]}],"member":"320","published-online":{"date-parts":[[2019,8,30]]},"reference":[{"key":"e_1_2_1_1_1","volume-title":"Proceedings of the 2014 International Green Computing Conference (IGCC\u201914)","author":"Abdulsalam S.","unstructured":"S. Abdulsalam, D. Lakomski, Q. Gu, T. Jin, and Z. Zong. 2014. Program energy efficiency: The impact of language, compiler and implementation choices. In Proceedings of the 2014 International Green Computing Conference (IGCC\u201914). 1--6."},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSM.2015.7332477"},{"key":"e_1_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1109\/IGCC.2011.6008559"},{"key":"e_1_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1145\/2485922.2485948"},{"key":"e_1_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1109\/MICRO.2014.54"},{"key":"e_1_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1145\/1806596.1806620"},{"key":"e_1_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1145\/2635868.2635871"},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1007\/s00766-015-0234-2"},{"key":"e_1_2_1_9_1","volume-title":"Young Choon Lee, and Albert Zomaya","author":"Beloglazov Anton","year":"2010","unstructured":"Anton Beloglazov, Rajkumar Buyya, Young Choon Lee, and Albert Zomaya. 2010. A taxonomy and survey of energy-efficient data centers and cloud computing systems. In Advances in Computers, V. Marvin Zelkowitz (Ed.). Elsevier, 47--111. http:\/\/www.sciencedirect.com\/science\/article\/pii\/B9780123855121000037"},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1145\/324133.324234"},{"key":"e_1_2_1_11_1","volume-title":"Proceedings of the 2010 IEEE International Symposium on Parallel Distributed Processing, Workshops and Phd Forum (IPDPSW\u201910)","author":"Husain Bohra A. E.","unstructured":"A. E. Husain Bohra and V. Chaudhary. 2010. VMeter: Power modelling for virtualized clouds. In Proceedings of the 2010 IEEE International Symposium on Parallel Distributed Processing, Workshops and Phd Forum (IPDPSW\u201910). 1--8."},{"key":"e_1_2_1_12_1","volume-title":"Retrieved","author":"Bourdon A.","year":"2016","unstructured":"A. Bourdon, A. Noureddine, R. Rouvoy, and L. Seinturier. 2012. PowerAPI: A Software Library to Monitor the Energy Consumed at the Process-Level. Retrieved June 13, 2016 from http:\/\/ercim-news.ercim.eu\/en92\/special\/powerapi-a-software-library-to-monitorthe-energy-consumed-at-the-process-level."},{"key":"e_1_2_1_13_1","unstructured":"Paolo Bozzelli Qing Gu and Patricia Lago. 2013. A Systematic Literature Review on Green Software Metrics. Retrieved from https:\/\/pdfs.semanticscholar.org\/7f7d\/7e7d53febd451e263784b59c1c9038474499.pdf."},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1007\/s40568-013-0020-6"},{"key":"e_1_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.5555\/2016802.2016892"},{"key":"e_1_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.infsof.2011.07.005"},{"key":"e_1_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1109\/RTCSA.2007.37"},{"key":"e_1_2_1_18_1","volume-title":"Proceedings of the 2016 IEEE International Conferences on Big Data and Cloud Computing (BDCloud\u201916)","author":"Chen X.","unstructured":"X. Chen and Z. Zong. 2016. Android app energy efficiency: The impact of language, runtime, compiler, and implementation. In Proceedings of the 2016 IEEE International Conferences on Big Data and Cloud Computing (BDCloud\u201916), Social Computing and Networking (SocialCom\u201916), Sustainable Computing and Communications (SustainCom\u201916) (BDCloud-SocialCom-SustainCom\u201916). 485--492."},{"key":"e_1_2_1_19_1","first-page":"5","article-title":"Convergence of recognition, mining, and synthesis workloads and its implications","volume":"96","author":"Chen Y. K.","year":"2008","unstructured":"Y. K. Chen, J. Chhugani, P. Dubey, C. J. Hughes, D. Kim, S. Kumar, V. W. Lee, A. D. Nguyen, and M. Smelyanskiy. 2008. Convergence of recognition, mining, and synthesis workloads and its implications. Proc. IEEE 96, 5 (May 2008), 790--807.","journal-title":"Proc. IEEE"},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1145\/2901739.2901763"},{"key":"e_1_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1145\/2741948.2741971"},{"key":"e_1_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.1145\/1840845.1840883"},{"key":"e_1_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.3390\/su71215843"},{"key":"e_1_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1109\/SANER.2017.7884613"},{"key":"e_1_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.1109\/E3S.2013.6705855"},{"key":"e_1_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.1109\/MICRO.2012.48"},{"key":"e_1_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.5555\/2662693.2662700"},{"key":"e_1_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.5555\/311424"},{"key":"e_1_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.5555\/186897"},{"key":"e_1_2_1_30_1","doi-asserted-by":"publisher","DOI":"10.1145\/2755977"},{"key":"e_1_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.5555\/1266366.1266607"},{"key":"e_1_2_1_32_1","doi-asserted-by":"publisher","DOI":"10.5555\/2486788.2486801"},{"key":"e_1_2_1_33_1","unstructured":"I. J. Haratcherev G. P. Halkes T. E. V. Parker O. W. Visser and K. G. Langendoen. 2008. PowerBench: A Scalable Testbed Infrastructure for Benchmarking Power Consumption. 37--44."},{"key":"e_1_2_1_34_1","doi-asserted-by":"publisher","DOI":"10.1145\/2884781.2884869"},{"key":"e_1_2_1_35_1","doi-asserted-by":"publisher","DOI":"10.5555\/2876911.2876913"},{"key":"e_1_2_1_36_1","doi-asserted-by":"publisher","DOI":"10.1145\/2597073.2597097"},{"key":"e_1_2_1_37_1","doi-asserted-by":"publisher","DOI":"10.5555\/2750315.2750321"},{"key":"e_1_2_1_38_1","doi-asserted-by":"publisher","DOI":"10.1145\/2660193.2660196"},{"key":"e_1_2_1_39_1","doi-asserted-by":"publisher","DOI":"10.1145\/1807128.1807136"},{"key":"e_1_2_1_40_1","doi-asserted-by":"publisher","DOI":"10.1145\/2642708"},{"key":"e_1_2_1_41_1","doi-asserted-by":"publisher","DOI":"10.1145\/2830772.2830811"},{"key":"e_1_2_1_42_1","doi-asserted-by":"publisher","DOI":"10.1145\/2593743.2593750"},{"key":"e_1_2_1_43_1","volume-title":"Proceedings of the 16th International Working Conference on Source Code Analysis and Manipulation. IEEE Computer Society","author":"Li Xueliang","unstructured":"Xueliang Li and John P. Gallagher. 2016. A source-level energy optimization framework for mobile applications. In Proceedings of the 16th International Working Conference on Source Code Analysis and Manipulation. IEEE Computer Society, Los Alamitos, CA."},{"key":"e_1_2_1_44_1","doi-asserted-by":"publisher","DOI":"10.1145\/2597073.2597085"},{"key":"e_1_2_1_45_1","series-title":"Lecture Notes in Computer Science","volume-title":"Fundamental Approaches to Software Engineering","author":"Liu Kenan","unstructured":"Kenan Liu, Gustavo Pinto, and Yu David Liu. 2015. Data-oriented characterization of application-level energy optimization. In Fundamental Approaches to Software Engineering, Alexander Egyed and Ina Schaefer (Eds.), Vol. 9033 in Lecture Notes in Computer Science. Springer, Berlin, 316--331."},{"key":"e_1_2_1_46_1","doi-asserted-by":"publisher","DOI":"10.1145\/2884781.2884810"},{"key":"e_1_2_1_47_1","doi-asserted-by":"publisher","DOI":"10.1145\/2568225.2568297"},{"key":"e_1_2_1_48_1","doi-asserted-by":"publisher","DOI":"10.1145\/2656204"},{"key":"e_1_2_1_49_1","volume-title":"Rutherford","author":"Michanan Junya","year":"2016","unstructured":"Junya Michanan, Rinku Dewri, and Matthew J. Rutherford. 2016. GreenC5: An adaptive, energy-aware collection for green software development. Sust. Comput. Inf. Syst. 12 (Nov. 2016), 42--60."},{"key":"e_1_2_1_50_1","doi-asserted-by":"publisher","DOI":"10.1145\/2660193.2660231"},{"key":"e_1_2_1_51_1","doi-asserted-by":"publisher","DOI":"10.1109\/CGO.2017.7863739"},{"key":"e_1_2_1_52_1","doi-asserted-by":"publisher","DOI":"10.1145\/2788396"},{"key":"e_1_2_1_53_1","doi-asserted-by":"publisher","DOI":"10.1109\/TPDS.2015.2442980"},{"key":"e_1_2_1_54_1","volume-title":"Proceedings of the Third International Conference on Smart Grid, Green Communications and IT Energy-aware Technologies (Energy'13)","author":"Morisio Maurizio","year":"2013","unstructured":"Maurizio Morisio, Luca Ardito, Antonio Vetro\u2019, and Giuseppe Procaccianti. 2013. Definition, implementation and validation of energy code smells: An exploratory study on an embedded system. In Proceedings of the Third International Conference on Smart Grid, Green Communications and IT Energy-aware Technologies (Energy'13). 34--39."},{"key":"e_1_2_1_55_1","doi-asserted-by":"publisher","DOI":"10.1109\/PACT.2015.16"},{"key":"e_1_2_1_56_1","doi-asserted-by":"publisher","DOI":"10.1109\/MITP.2008.10"},{"key":"e_1_2_1_57_1","doi-asserted-by":"publisher","DOI":"10.5555\/2181141"},{"key":"e_1_2_1_58_1","doi-asserted-by":"publisher","DOI":"10.5555\/2663779.2663783"},{"key":"e_1_2_1_59_1","doi-asserted-by":"publisher","DOI":"10.1145\/2351676.2351699"},{"key":"e_1_2_1_60_1","doi-asserted-by":"publisher","DOI":"10.5555\/2819009.2819120"},{"key":"e_1_2_1_61_1","doi-asserted-by":"publisher","DOI":"10.1145\/2553070.2553077"},{"key":"e_1_2_1_62_1","volume-title":"Retrieved","author":"Pandruvada S.","year":"2014","unstructured":"S. Pandruvada. 2014. Running Average Power Limit\u2014RAPL textbar 01.org. Retrieved June 28, 2016 from https:\/\/01.org\/blogs\/tlcounts\/2014\/running-average-power-limit&hyphen;&hyphen;&hyphen;rapl."},{"key":"e_1_2_1_63_1","doi-asserted-by":"publisher","DOI":"10.1109\/MS.2015.83"},{"key":"e_1_2_1_64_1","unstructured":"Thomas Pantels. 2015. Optimizing Power for Interactions between Virus Scanners and Pre-bundled Software. Retrieved from https:\/\/software.intel.com\/en-us\/articles\/optimizing-power-for-interactions-between-virus-scanners-and-pre-bundled-software."},{"key":"e_1_2_1_65_1","unstructured":"Thomas Pantels Sheng Guo and Rajshree Chabukswar. 2014. Touch Response Measurement Analysis and Optimization for Windows* Applications. Retrieved from https:\/\/software.intel.com\/en-us\/articles\/touch-response-measurement-analysis-and-optimization-for-windows-applications."},{"key":"e_1_2_1_66_1","doi-asserted-by":"publisher","DOI":"10.1145\/3123939.3124537"},{"key":"e_1_2_1_67_1","volume-title":"Proceedings of the 26th International Conference on Software Engineering and Knowledge Engineering, Marek Reformat (Ed.). Knowledge Systems Institute Graduate School, 717--722","author":"Park Jae Jin","year":"2014","unstructured":"Jae Jin Park, Jang-Eui Hong, and Sang-Ho Lee. 2014. Investigation for software power consumption of code refactoring techniques. In Proceedings of the 26th International Conference on Software Engineering and Knowledge Engineering, Marek Reformat (Ed.). Knowledge Systems Institute Graduate School, 717--722."},{"key":"e_1_2_1_68_1","doi-asserted-by":"publisher","DOI":"10.1145\/2168836.2168841"},{"key":"e_1_2_1_69_1","doi-asserted-by":"publisher","DOI":"10.1145\/2896967.2896968"},{"key":"e_1_2_1_70_1","doi-asserted-by":"publisher","DOI":"10.5555\/2027999.2028010"},{"key":"e_1_2_1_71_1","doi-asserted-by":"publisher","DOI":"10.1145\/2660193.2660235"},{"key":"e_1_2_1_72_1","volume-title":"Proceedings of the 32nd IEEE International Conference on Software Maintenance and Evolution. IEEE Computer Society","author":"Pinto Gustavo","year":"2016","unstructured":"Gustavo Pinto, Kenan Liu, and Fernando Castor. 2016. A comprehensive study on the energy efficiency of Java thread-safe collections. In Proceedings of the 32nd IEEE International Conference on Software Maintenance and Evolution. IEEE Computer Society, Los Alamitos, CA."},{"key":"e_1_2_1_73_1","doi-asserted-by":"publisher","DOI":"10.5555\/2820158.2820165"},{"key":"e_1_2_1_74_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.jss.2016.02.035"},{"key":"e_1_2_1_75_1","volume-title":"The Arithmetic of Differentiation","author":"Rall L. B.","unstructured":"L. B. Rall. 1984. The Arithmetic of Differentiation. Mathematics Research Center, University of Wisconsin\u2014Madison."},{"key":"e_1_2_1_76_1","volume-title":"Proceedings of the 2015 ACM\/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM\u201915)","author":"Rashid M.","unstructured":"M. Rashid, L. Ardito, and M. Torchiano. 2015. Energy consumption analysis of algorithms implementations. In Proceedings of the 2015 ACM\/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM\u201915). 1--4."},{"key":"e_1_2_1_77_1","doi-asserted-by":"publisher","DOI":"10.1145\/2541940.2541971"},{"key":"e_1_2_1_78_1","doi-asserted-by":"publisher","DOI":"10.1145\/2541940.2541971"},{"key":"e_1_2_1_79_1","doi-asserted-by":"publisher","DOI":"10.5555\/41765.41801"},{"key":"e_1_2_1_80_1","doi-asserted-by":"publisher","DOI":"10.5555\/2663779.2663789"},{"key":"e_1_2_1_81_1","doi-asserted-by":"publisher","DOI":"10.1145\/2652524.2652538"},{"key":"e_1_2_1_82_1","doi-asserted-by":"publisher","DOI":"10.1145\/1993498.1993518"},{"key":"e_1_2_1_83_1","doi-asserted-by":"publisher","DOI":"10.1145\/2312005.2312018"},{"key":"e_1_2_1_84_1","doi-asserted-by":"publisher","DOI":"10.1145\/2025113.2025133"},{"key":"e_1_2_1_85_1","doi-asserted-by":"publisher","DOI":"10.1007\/s00450-012-0218-0"},{"key":"e_1_2_1_86_1","doi-asserted-by":"publisher","DOI":"10.1109\/SBESC.2013.39"},{"key":"e_1_2_1_87_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.comcom.2014.02.008"},{"key":"e_1_2_1_88_1","first-page":"5","article-title":"Exploiting significance of computations for energy-constrained approximate computing","volume":"44","author":"Vassiliadis Vassilis","year":"2016","unstructured":"Vassilis Vassiliadis, Charalampos Chalios, Konstantinos Parasyris, Christos D. Antonopoulos, Spyros Lalis, Nikolaos Bellas, Hans Vandierendonck, and Dimitrios S. Nikolopoulos. 2016a. Exploiting significance of computations for energy-constrained approximate computing. Int. Parallel Program. 44, 5 (Oct. 2016), 1078--1098.","journal-title":"Int. Parallel Program."},{"key":"e_1_2_1_89_1","doi-asserted-by":"publisher","DOI":"10.1145\/2854038.2854058"},{"key":"e_1_2_1_90_1","doi-asserted-by":"publisher","DOI":"10.1109\/MDAT.2016.2630270"},{"key":"e_1_2_1_91_1","doi-asserted-by":"publisher","DOI":"10.5555\/2755753.2755938"},{"key":"e_1_2_1_92_1","doi-asserted-by":"publisher","DOI":"10.1145\/1878961.1878982"}],"container-title":["ACM Computing Surveys"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3337773","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3337773","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,25]],"date-time":"2025-06-25T13:24:58Z","timestamp":1750857898000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3337773"}},"subtitle":["Techniques and Tools"],"short-title":[],"issued":{"date-parts":[[2019,8,30]]},"references-count":92,"journal-issue":{"issue":"4","published-print":{"date-parts":[[2020,7,31]]}},"alternative-id":["10.1145\/3337773"],"URL":"https:\/\/doi.org\/10.1145\/3337773","relation":{},"ISSN":["0360-0300","1557-7341"],"issn-type":[{"value":"0360-0300","type":"print"},{"value":"1557-7341","type":"electronic"}],"subject":[],"published":{"date-parts":[[2019,8,30]]},"assertion":[{"value":"2017-05-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2019-05-01","order":2,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2019-08-30","order":3,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}