A Validated Taxonomy on Software Energy Smells
Mohammadjavad Mehditabar, Saurabhsingh Rajput, Tushar Sharma

TL;DR
This paper introduces a comprehensive, validated taxonomy of software energy smells, supported by empirical data from Python code profiling, to aid developers in reducing software energy consumption.
Contribution
It presents a novel, validated taxonomy of energy smells, classifies root causes, and provides an empirical dataset for energy-efficient software engineering.
Findings
71% of code samples exhibit multiple co-occurring energy smells
Memory-related smells offer the highest energy savings when fixed
Energy optimization involves factors beyond performance, such as power draw variation
Abstract
As software proliferates across domains, its aggregate energy footprint has become a major concern. To reduce software's growing environmental footprint, developers need to identify and refactor energy smells: source code implementations, design choices, or programming practices that lead to inefficient use of computing resources. Existing catalogs of such smells are either domain-specific, limited to performance anti-patterns, lack fine-grained root cause classification, or remain unvalidated against measured energy data. In this paper, we present a comprehensive, language-agnostic, taxonomy of software energy smells. Through a systematic literature review of 60 papers and exhaustive snowballing, we coded 320 inefficiency patterns into 12 primary energy smells and 65 root causes mapped to the primary smells. To empirically validate this taxonomy, we profile over 21,000 functionally…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
