Energy-Efficient Software Development: A Multi-dimensional Empirical Analysis of Stack Overflow
Bihui Jin, Heng Li, Pengyu Nie, Ying Zou
TL;DR
This study addresses the practical challenges of energy-aware software development by analyzing 1,193 energy-related Stack Overflow questions from 2008–2024. It adopts a multi-dimensional approach, combining Latent Dirichlet Allocation for topic modeling, intent classification via LLMs with human validation, and tag-based technology analysis to capture topics, intents, and technologies, respectively. The work identifies eight energy-related topics, highlights that positioning and resource management dominate, and shows that Datum Handling and Polling pose the greatest response-time and acceptance challenges. It also reveals a shift over time from conceptual questions to practical discrepancies and data-centric concerns, with OS, hardware, and programming languages (notably Android, accessories, and Java) driving practitioner needs. The resulting open dataset and actionable implications offer guidance for API design, platform scheduling, and data-management strategies to improve energy efficiency in software systems.
Abstract
Energy consumption of software applications has emerged as a critical concern for developers to contemplate in their daily development processes. Previous studies have surveyed a limited number of developers to understand their viewpoints on energy consumption. We complement these studies by analyzing a meticulously curated dataset of 1,193 Stack Overflow (SO) questions concerning energy consumption. These questions capture real-world energy-related challenges in practice. To understand practitioners' perceptions, we investigate the intentions behind these questions, semantic topics, and associated technologies (e.g., programming languages). Our results reveal that: (i) the most prevalent energy consumption topic is about balancing Positioning usage; (ii) efficiently handling data is particularly challenging, with these questions having the longest response times; (iii) practitioners primarily ask questions to understand a concept or API related to energy consumption; and (iv) practitioners are concerned about energy consumption across multiple levels-hardware, operating systems, and programming languages-during energy efficient software development. Our findings raise awareness about energy consumption's impact on software development. We also derive actionable implications for energy optimization at different levels (e.g., optimizing API usage or hardware accesses) during energy-aware software development.
