What Do Programmers Know about Software Energy Consumption?
Status:: 🟩
Links:: Software engineers social and environmental responsibility
Metadata
Authors:: Pang, Candy; Hindle, Abram; Adams, Bram; Hassan, Ahmed E.
Title:: What Do Programmers Know about Software Energy Consumption?
Publication Title:: "IEEE Software"
Date:: 2016
URL:: https://ieeexplore.ieee.org/document/7155416/
DOI:: 10.1109/MS.2015.83
Bibliography
Pang, C., Hindle, A., Adams, B., & Hassan, A. E. (2016). What Do Programmers Know about Software Energy Consumption? IEEE Software, 33(3), 83–89. https://doi.org/10.1109/MS.2015.83
Zotero
Type:: #zotero/journalArticle
Zotero::
Keywords:: [🔥, Measurement, Green Software, Teaching, Energy Efficiency, Sustainability Awareness, Sus]
Relations
Related:: @Pinto.etal.2014.MiningQuestionsSoftware
Related:: @Jagroep.etal.2017.AwakeningAwarenessEnergy
Abstract
Traditionally, programmers received a range of training on programming languages and methodologies, but they rarely receive training on software energy consumption. Yet, the popularity of mobile devices and cloud computing requires increased awareness of software energy consumption. On mobile devices, battery life often limits computation. Under the demands of cloud computing, datacenters struggle to reduce energy consumption through virtualization and datacenter-infrastructure-management systems. Efficient software energy consumption is increasingly becoming an important nonfunctional requirement for programmers. However, are programmers knowledgeable enough about software energy consumption? Do they base their implementation decision on popular beliefs? Researchers surveyed more than 100 programmers regarding their knowledge of software energy consumption. They found that the programmers had limited knowledge of energy efficiency, lacked knowledge of the best practices to reduce software energy consumption, and were often unsure about how software consumes energy. These results highlight the need for better training and education on energy consumption and efficiency.
Notes & Annotations
📑 Annotations (imported on 2023-07-27#16:49:56)
Unfortunately, the demand for energy-efficent computing isn’t reflected in the education, training, or knowledge of programmers. Programmer training often focuses on methodologies such as object-oriented programming and nonfunctional requirements such as performance.
Performance optimization is often considered a substitute for energy optimization because a faster system likely consumes less energy. Although this is a step in the right direction, it’s insufficient and sometimes even incorrect. For instance, parallel processing might improve performance by reducing calculation time. However, saving and restoring execution context, scheduling threads, and losing locality might end up consuming more resources than sequential processing.
Our survey results show that the programmers rarely addressed energy efficiency and that users rarely requested it. Only 22 respondents (18 percent) claimed to take energy consumption into account when developing software. Only 17 respondents (14 percent) considered minimizing energy consumption a requirement. Twenty-six respondents (21 percent) said they modified software to reduce energy consumption.
If customers and clients aren’t asking for energy-efficient software, programmers are less likely to address the energy efficiency of software. Hence, appropriate public education and expanded awareness among clients and programmers about software energy consumption is needed.
Image description:
Respondents’ responses regarding ways to improve software energy efficiency. The respondents’ answers varied widely, indicating the need for increased education on software energy consumption and ef ficiency.
The programmers in our study lacked knowledge and awareness of software energy-related issues. More than 80 percent of them didn’t take energy consumption into account when developing software.