What do programmers know about the energy consumption of software? - Pang, Candy; Hindle, Abram; Adams, Bram; Hassan, Ahmed E (PeerJ PrePrints, 2015)
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.
Keywords: software engineering; software energy consumption; energy efficiency; power usage; software power consumption; practitioners