Unveiling the Energy Vampires: A Methodology for Debugging Software Energy Consumption
Energy consumption in software systems is becoming increasingly important, especially in large-scale deployments. However, debugging energy-related issues remains challenging due to the lack of specialized tools. This paper presents an energy debugging methodology for identifying and isolating energy consumption hotspots in software systems. We demonstrate the methodology's effectiveness through a case study of Redis, a popular in-memory database. Our analysis reveals significant energy consumption differences between Alpine and Ubuntu distributions, with Alpine consuming up to 20.2 % more power in certain operations. We trace this difference to the implementation of the memcpy function in different C standard libraries (musl vs. glibc). By isolating and benchmarking memcpy, we confirm it as the primary cause of the energy discrepancy. Our findings highlight the importance of considering energy efficiency in software dependencies and demonstrate the capability to assist developers in identifying and addressing energy-related issues. This work contributes to the growing field of sustainable software engineering by providing a systematic approach to energy debugging and using it to unveil unexpected energy behaviors in Alpine.
Authors
- Luís Cruz (ORCID: https://orcid.org/0000-0002-1615-355X)
- Thomas Durieux (ORCID: https://orcid.org/0000-0002-1996-6134)
- Enrique Barba Roque
Institutions
- Delft University of Technology (NL)
Publication Details
- Published
- 2025-04-26
- DOI
- https://doi.org/10.1109/icse55347.2025.00118
- Citations
- 1
- Primary Topic
- Green IT and Sustainability
- Type
- article
- Field-Weighted Citation Impact
- 0.73