An Empirical Study of Practitioners' Perspectives on Green Software Engineering

Author(s): Irene Manotas, Christian Bird, Rui Zhang, David Shepherd, Ciera Jaspan, Caitlin Sadowski, Lori Pollock & James Clause
Venue: 2016 IEEE/ACM 38th International Conference on Software Engineering (ICSE)
Date: 14-22 May 2016

Type of Experiement: Survey/Multi-Case Study
Sample Size: 582
Class/Experience Level: Professional
Participant Selection: In-depth interviews of 18 Microsoft practitioners from a wide range of application domains and a quantitative, targeted survey of 464 ABB, Google, IBM, and Microsoft developers and testers
Data Collection Method: Survey


In the potentially first study on Green Software Engineering, this group of researchers conducted a study on how developers and testers think about battery life/energy usage when writing requirements, design, construct, test and maintain their software systems. As a reminder, Green Software Engineering is the process of helping practitioners (architects, developers, testers, managers, etc.) write more energy efficient applications. At a high-level, the researchers were interested in answering two main research questions. First, in what domains energy usage is of concern to practitioners? And second, when energy usage is of concern, what are experienced practitioners' perspectives on green software engineering? Here are their findings:

In what domains energy usage is of concern to practitioners?:
With the highest score, experienced Mobile Practitioners Frequently have Requirements or Goals About Energy Usage 63% of the time.
Experienced traditional practitioners indicated that they have energy requirements or goals 40% of the time.
Experienced Embedded and Experienced Data Center Practitioners indicated that they rarely have requirements or goals about energy usage which equated to only 37% of the time.
With the lowest score, data center respondents indicated that they have such requirements only 27% of the time.

When energy usage is of concern, what are experienced practitioners' perspectives on green software engineering?:
In many cases, energy usage is not set as a strict requirement but rather as a desired trait for the system. For example, individuals spend significant time trying to reduce energy usage for their system by reducing CPU utilization (but as the study suggests, reducing CPU utilization is different than reducing energy usage). The study concludes that individuals need to place more emphasis on green software engineering.