[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1145/3382494.3410678acmconferencesArticle/Chapter ViewAbstractPublication PagesesemConference Proceedingsconference-collections
research-article

On Reducing the Energy Consumption of Software: From Hurdles to Requirements

Published: 23 October 2020 Publication History

Abstract

Background. As software took control over hardware in many domains, the question of the energy footprint induced by the software is becoming critical for our society, as the resources powering the underlying infrastructure are finite. Yet, beyond this growing interest, energy consumption remains a difficult concept to master for a developer.
Aims. The purpose of this study is to better understand the root causes that prevent the issue of software energy consumption to be more widely considered by developers and companies.
Method. To investigate this issue, this paper reports on a qualitative study we conducted in an industrial context. We applied an in-depth analysis of the interviews of 10 experienced developers and summarized a set of implications.
Results. We argue that our study delivers i) insightful feedback on how green software design is considered among the interviewed developers and ii) a set of findings to build helpful tools, motivate further research, and establish better development strategies to promote green software design.
Conclusion. This paper covers an industrial case study of developers' awareness of green software design and how to promote it within the company. While it might not be generalizable for any company, we believe our results deliver a common body of knowledge with implications to be considered for similar cases and further researches.

References

[1]
H. Anwar, D. Pfahl, and S. N. Srirama. 2019. Evaluating the Impact of Code Smell Refactoring on the Energy Consumption of Android Applications. In 2019 45th Euromicro Conference on Software Engineering and Advanced Applications (SEAA). 82--86.
[2]
L. Ardito, G. Procaccianti, M. Torchiano, and A. VetrÚ. 2015. Understanding Green Software Development: A Conceptual Framework. IT Professional 17, 1 (2015), 44--50.
[3]
A. Banerjee and A. Roychoudhury. 2016. Automated Re-Factoring of Android Apps to Enhance Energy-Efficiency. In 2016 IEEE/ACM International Conference on Mobile Software Engineering and Systems (MOBILESoft). 139--150. https://doi.org/10.1109/MobileSoft.2016.038
[4]
Titus Barik, Brittany Johnson, and Emerson Murphy-Hill. 2015. I Heart Hacker News: Expanding Qualitative Research Findings by Analyzing Social News Websites. In Proceedings of the 2015 10th Joint Meeting on Foundations of Software Engineering - ESEC/FSE 2015. ACM Press, Bergamo, Italy, 882--885. https://doi.org/10.1145/2786805.2803200
[5]
A. B. Bener, A. Miranskyy, and S. Raspudic. 2014. Deploying and Provisioning Green Software. IEEE Software 31, 3 (2014), 76--78.
[6]
Dane Bertram, Amy Voida, Saul Greenberg, and Robert Walker. 2009. Communication, Collaboration, and Bugs: The Social Nature of Issue Tracking in Software Engineering. (2009), 11.
[7]
Maxime Colmant, Romain Rouvoy, Mascha Kurpicz, Anita Sobe, Pascal Felber, and Lionel Seinturier. 2018. The next 700 CPU power models. Journal of Systems and Software 144 (2018).
[8]
Nelly Condori Fernandez and Patricia Lago. 2018. The Influence of Green Strategies Design onto Quality Requirements Prioritization. In Requirements Engineering (Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)). Springer/Verlag, 189--205. https://doi.org/10.1007/978-3-319-77243-1_12
[9]
John W. Creswell. 2003. Research Design: Qualitative, Quantitative, and Mixed Method Approaches (2nd ed ed.). Sage Publications, Thousand Oaks, Calif.
[10]
Denae Ford, Titus Barik, Leslie Rand-Pickett, and Chris Parnin. 2017. The Tech-Talk Balance: What Technical Interviewers Expect from Technical Candidates. In 2017 IEEE/ACM 10th International Workshop on Cooperative and Human Aspects of Software Engineering (CHASE). IEEE, Buenos Aires, Argentina, 43--48. https://doi.org/10.1109/CHASE.2017.8
[11]
Thomas Fritz and Gail C. Murphy. 2011. Determining Relevancy: How Software Developers Determine Relevant Information in Feeds. In Proceedings of the 2011 Annual Conference on Human Factors in Computing Systems - CHI '11. ACM Press, Vancouver, BC, Canada, 1827. https://doi.org/10.1145/1978942.1979206
[12]
Ashish Gupta, Thomas Zimmermann, Christian Bird, Nachiappan Nagappan, Thirumalesh Bhat, and Syed Emran. 2014. Mining Energy Traces to Aid in Software Development: An Empirical Case Study. In Proceedings of the 8th ACM/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM âĂŹ14). Association for Computing Machinery, New York, NY, USA, Article 40, 8 pages. https://doi.org/10.1145/2652524.2652578
[13]
Sarra Habchi, Xavier Blanc, and Romain Rouvoy. 2018. On Adopting Linters to Deal with Performance Concerns in Android Apps. In Proceedings of the 33rd ACM/IEEE International Conference on Automated Software Engineering - ASE 2018. ACM Press, Montpellier, France, 6--16. https://doi.org/10.1145/3238147.3238197
[14]
Erik Jagroep, Giuseppe Procaccianti, Jan Martijn van der Werf, Sjaak Brinkkemper, Leen Blom, and Rob van Vliet. 2017. Energy Efficiency on the Product Roadmap: An Empirical Study across Releases of a Software Product: Energy Efficiency on the Product Roadmap. Journal of Software: Evolution and Process 29, 2 (Feb. 2017), e1852. https://doi.org/10.1002/smr.1852
[15]
Brittany Johnson, Yoonki Song, Emerson Murphy-Hill, and Robert Bowdidge. 2013. Why Don't Software Developers Use Static Analysis Tools to Find Bugs?. In 2013 35th International Conference on Software Engineering (ICSE). IEEE, San Francisco, CA, USA, 672--681. https://doi.org/10.1109/ICSE.2013.6606613
[16]
Kashif Nizam Khan, Mikael Hirki, Tapio Niemi, Jukka K. Nurminen, and Zhonghong Ou. 2018. RAPL in Action: Experiences in Using RAPL for Power Measurements. ACM Trans. Model. Perform. Eval. Comput. Syst. 3, 2, Article 9 (March 2018).
[17]
Foutse Khomh and S. Amirhossein Abtahizadeh. 2018. Understanding the impact of cloud patterns on performance and energy consumption. J. Syst. Softw. 141 (2018), 151--170. https://doi.org/10.1016/j.jss.2018.03.063
[18]
Mohit Kumar, Youhuizi Li, and Weisong Shi. 2017. Energy Consumption in Java: An Early Experience. In 2017 Eighth International Green and Sustainable Computing Conference (IGSC). IEEE, Orlando, FL, 1--8. https://doi.org/10.1109/IGCC.2017.8323579
[19]
Thomas D. LaToza, Evelina Shabani, and Andre van der Hoek. 2013. A Study of Architectural Decision Practices. In 2013 6th International Workshop on Cooperative and Human Aspects of Software Engineering (CHASE). IEEE, San Francisco, CA, USA, 77--80. https://doi.org/10.1109/CHASE.2013.6614735
[20]
Ding Li and William G. J. Halfond. 2014. An Investigation into Energy-Saving Programming Practices for Android Smartphone App Development. In Proceedings of the 3rd International Workshop on Green and Sustainable Software - GREENS 2014. ACM Press, Hyderabad, India, 46--53. https://doi.org/10.1145/2593743.2593750
[21]
Mario Linares-Vásquez, Gabriele Bavota, Carlos Bernal-Cárdenas, Rocco Oliveto, Massimiliano Di Penta, and Denys Poshyvanyk. 2014. Mining Energy-Greedy API Usage Patterns in Android Apps: An Empirical Study. In Proceedings of the 11th Working Conference on Mining Software Repositories - MSR 2014. ACM Press, Hyderabad, India, 2--11. https://doi.org/10.1145/2597073.2597085
[22]
Irene Manotas, Christian Bird, Rui Zhang, David Shepherd, Ciera Jaspan, Caitlin Sadowski, Lori Pollock, and James Clause. 2016. An Empirical Study of Practitioners' Perspectives on Green Software Engineering. In Proceedings of the 38th International Conference on Software Engineering - ICSE '16. ACM Press, Austin, Texas, 237--248. https://doi.org/10.1145/2884781.2884810
[23]
Irene Manotas, Lori Pollock, and James Clause. 2014. SEEDS: A Software Engineer's Energy-Optimization Decision Support Framework. In Proceedings of the 36th International Conference on Software Engineering (ICSE 2014). Association for Computing Machinery, New York, NY, USA, 503--514. https://doi.org/10.1145/2568225.2568297
[24]
Irene Manotas, Cagri Sahin, James Clause, Lori Pollock, and Kristina Winbladh. 2013. Investigating the Impacts of Web Servers on Web Application Energy Usage. In 2013 2nd International Workshop on Green and Sustainable Software (GREENS). IEEE, San Francisco, CA, USA, 16--23. https://doi.org/10.1109/GREENS.2013.6606417
[25]
Rodrigo Morales, Rubén Saborido, Foutse Khomh, Francisco Chicano, and Giuliano Antoniol. 2018. EARMO: An Energy-Aware Refactoring Approach for Mobile Apps. IEEE Trans. Software Eng. 44, 12 (2018), 1176--1206. https://doi.org/10.1109/TSE.2017.2757486
[26]
M. Morisio, P. Lago, N. Meyer, H. A. MÃijller, and G. Scanniello. 2015. 4th International Workshop on Green and Sustainable Software (GREENS 2015). In 2015 IEEE/ACM 37th IEEE International Conference on Software Engineering, Vol. 2. 981--982.
[27]
D. G. Oliver, J. M. Serovich, and T. L. Mason. 2005. Constraints and Opportunities with Interview Transcription: Towards Reflection in Qualitative Research. Social Forces 84, 2 (Dec. 2005), 1273--1289. https://doi.org/10.1353/sof.2006.0023
[28]
C. Pang, A. Hindle, B. Adams, and A. E. Hassan. 2016. What Do Programmers Know about Software Energy Consumption? IEEE Software 33, 3 (May 2016), 83--89. https://doi.org/10.1109/MS.2015.83
[29]
Abhinav Pathak, Y. Charlie Hu, and Ming Zhang. 2011. Bootstrapping Energy Debugging on Smartphones: A First Look at Energy Bugs in Mobile Devices., Article Article 5 (2011), 6 pages. https://doi.org/10.1145/2070562.2070567
[30]
Patton, Michael Quinn. 1990. Qualitative Evaluation and Research Methods, 2nd Ed. (2 ed.). Number 0-8039-3779-2. Sage Publications, Inc.
[31]
Gustavo Pinto, Fernando Castor, and Yu David Liu. 2014. Mining Questions about Software Energy Consumption. In Proceedings of the 11th Working Conference on Mining Software Repositories - MSR 2014. ACM Press, Hyderabad, India, 22--31. https://doi.org/10.1145/2597073.2597110
[32]
G. Procaccianti, P. Lago, A. VetrÚ, D. M. FernÃąndez, and R. Wieringa. 2015. The Green Lab: Experimentation in Software Energy Efficiency. In 2015 IEEE/ACM 37th IEEE International Conference on Software Engineering, Vol. 2. 941--942.
[33]
Cagri Sahin, Lori Pollock, and James Clause. 2014. How Do Code Refactorings Affect Energy Usage?. In Proceedings of the 8th ACM/IEEE International Symposium on Empirical Software Engineering and Measurement - ESEM '14. ACM Press, Torino, Italy, 1--10. https://doi.org/10.1145/2652524.2652538
[34]
Cagri Sahin, Philip Tornquist, Ryan Mckenna, Zachary Pearson, and James Clause. 2014. How Does Code Obfuscation Impact Energy Usage?. In 2014 IEEE International Conference on Software Maintenance and Evolution. IEEE, Victoria, BC, Canada, 131--140. https://doi.org/10.1109/ICSME.2014.35
[35]
Todd Sedano, Paul Ralph, and Cecile Peraire. 2017. Software Development Waste. In 2017 IEEE/ACM 39th International Conference on Software Engineering (ICSE). IEEE, Buenos Aires, 130--140. https://doi.org/10.1109/ICSE.2017.20
[36]
Justin Smith, Brittany Johnson, Emerson Murphy-Hill, Bill Chu, and Heather Richter Lipford. 2019. How Developers Diagnose Potential Security Vulnerabilities with a Static Analysis Tool. IEEE Transactions on Software Engineering 45, 9 (Sept. 2019), 877--897. https://doi.org/10.1109/TSE.2018.2810116
[37]
Klaas-Jan Stol, Paul Ralph, and Brian Fitzgerald. 2016. Grounded Theory in Software Engineering Research: A Critical Review and Guidelines. In Proceedings of the 38th International Conference on Software Engineering (ICSE âĂŹ16). Association for Computing Machinery, New York, NY, USA, 120âĂŞ131. https://doi.org/10.1145/2884781.2884833
[38]
Kristin Fjola Tomasdottir, Mauricio Aniche, and Arie van Deursen. 2017. Why and How JavaScript Developers Use Linters. In 2017 32nd IEEE/ACM International Conference on Automated Software Engineering (ASE). IEEE, Urbana, IL, 578--589. https://doi.org/10.1109/ASE.2017.8115668
[39]
D. Torre, G. Procaccianti, D. Fucci, S. Lutovac, and G. Scanniello. 2017. On the Presence of Green and Sustainable Software Engineering in Higher Education Curricula. In 2017 IEEE/ACM 1st International Workshop on Software Engineering Curricula for Millennials (SECM). 54--60.
[40]
Konstantina Vasileiou, Julie Barnett, Susan Thorpe, and Terry Young. 2018. Characterising and Justifying Sample Size Sufficiency in Interview-Based Studies: Systematic Analysis of Qualitative Health Research over a 15-Year Period. BMC Medical Research Methodology 18, 1 (Dec. 2018). https://doi.org/10.1186/s12874-018-0594-7
[41]
Helmut R. Wagner. 1968. The Discovery of Grounded Theory: Strategies for Qualitative Research. By Barney G. Glaser and Anselm L. Strauss. Chicago: Aldine Publishing Company, 1967.271 pp. Social Forces 46, 4 (06 1968), 555--555. https://doi.org/10.1093/sf/46.4.555 arXiv:https://academic.oup.com/sf/article-pdf/46/4/555/6891522/46-4-555.pdf

Cited By

View all
  • (2024)Challenges & Opportunities in Automating DBMS: A Qualitative StudyProceedings of the 39th IEEE/ACM International Conference on Automated Software Engineering10.1145/3691620.3695264(2013-2023)Online publication date: 27-Oct-2024
  • (2024)Can we spot energy regressions using developers tests?Empirical Software Engineering10.1007/s10664-023-10429-129:5Online publication date: 25-Jul-2024
  • (2024)Circular systems engineeringSoftware and Systems Modeling (SoSyM)10.1007/s10270-024-01154-423:2(269-283)Online publication date: 1-Apr-2024
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
ESEM '20: Proceedings of the 14th ACM / IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM)
October 2020
412 pages
ISBN:9781450375801
DOI:10.1145/3382494
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 23 October 2020

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Research-article
  • Research
  • Refereed limited

Conference

ESEM '20
Sponsor:

Acceptance Rates

ESEM '20 Paper Acceptance Rate 26 of 123 submissions, 21%;
Overall Acceptance Rate 130 of 594 submissions, 22%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)108
  • Downloads (Last 6 weeks)18
Reflects downloads up to 21 Dec 2024

Other Metrics

Citations

Cited By

View all
  • (2024)Challenges & Opportunities in Automating DBMS: A Qualitative StudyProceedings of the 39th IEEE/ACM International Conference on Automated Software Engineering10.1145/3691620.3695264(2013-2023)Online publication date: 27-Oct-2024
  • (2024)Can we spot energy regressions using developers tests?Empirical Software Engineering10.1007/s10664-023-10429-129:5Online publication date: 25-Jul-2024
  • (2024)Circular systems engineeringSoftware and Systems Modeling (SoSyM)10.1007/s10270-024-01154-423:2(269-283)Online publication date: 1-Apr-2024
  • (2024)Demeter: An Architecture for Long-Term Monitoring of Software Power ConsumptionSoftware Architecture. ECSA 2023 Tracks, Workshops, and Doctoral Symposium10.1007/978-3-031-66326-0_25(409-425)Online publication date: 30-Jul-2024
  • (2024)Tactics for Software Energy Efficiency: A ReviewAdvances and New Trends in Environmental Informatics 202310.1007/978-3-031-46902-2_7(115-140)Online publication date: 9-Feb-2024
  • (2024)Sustainable software engineering—A contribution puzzle of different teams in large IT organizationsJournal of Software: Evolution and Process10.1002/smr.267736:9Online publication date: 13-May-2024
  • (2023)Corrosion Resistance of Welded Structures: Materials Selection and Coating SolutionsInternational Journal of Advanced Research in Science, Communication and Technology10.48175/IJARSCT-11906(1003-1007)Online publication date: 30-Jul-2023
  • (2023)Uncovering the Environmental Impact of Software Life Cycle2023 International Conference on ICT for Sustainability (ICT4S)10.1109/ICT4S58814.2023.00026(176-187)Online publication date: 5-Jun-2023
  • (2023)Sustainability is Stratified: Toward a Better Theory of Sustainable Software Engineering2023 IEEE/ACM 45th International Conference on Software Engineering (ICSE)10.1109/ICSE48619.2023.00169(1996-2008)Online publication date: May-2023
  • (2023)Ecological Impact of Native Versus Cross-Platform Mobile Apps: A Preliminary Study2023 38th IEEE/ACM International Conference on Automated Software Engineering Workshops (ASEW)10.1109/ASEW60602.2023.00005(3-8)Online publication date: 11-Sep-2023
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media