This is an open access article distributed under the terms of the Creative Commons Attribution License, which permits unrestricted use, distribution, reproduction and adaptation in any medium and for any purpose provided that it is properly attributed. For attribution, the original author(s), title, publication source (PeerJ PrePrints) and either DOI or URL of the article must be cited.
Traditionally, programmers have received a wide range of training on programming languages and methodologies, but rarely about software energy consumption. Yet, the popularity of mobile devices and cloud computing require increased awareness about software energy consumption. On a mobile device, computation is often limited by the battery life. Under the demands of cloud computing, data centers struggle to reduce energy consumption through vir- tualization and data center infrastructure management (DCIM) systems. Efficient energy consumption of software is increasingly becoming an important non-functional requirement for programmers. However, are programmers knowledgeable enough about software energy consumption? Do programmers base their implementation decision on popular beliefs? In this article, we survey over 100 programmers for their knowledge of software energy con- sumption. We find that programmers have limited knowledge about energy efficiency, lack the knowledge about the best practice to reduce energy consumption of software, and are often unsure about how software consumes energy. Education about the importance of energy effective software will benefit the programmers. Our results highlight the need for training about energy consumption and efficiency.
This article has been accepted for publication in IEEE Software but has not yet been fully edited.