CodeGreen: Towards Improving Precision and Portability in Software Energy Measurement

📅 2026-03-18
📈 Citations: 0
Influential: 0
📄 PDF
🤖 AI Summary
Existing software energy measurement tools struggle to balance accuracy and overhead while often being constrained to specific hardware or programming languages, limiting their cross-platform portability. This work proposes CodeGreen, a modular energy measurement platform that innovatively integrates Tree-sitter–based AST queries to enable automatic, multi-language instrumentation. By decoupling instrumentation from measurement through an asynchronous producer-consumer architecture, CodeGreen supports fine-grained energy analysis for languages including Python, C/C++, and Java. Its Native Energy Measurement Backend (NEMB) unifies polling of hardware sensors such as Intel RAPL, NVIDIA NVML, and AMD ROCm. Evaluated on the Computer Language Benchmarks Game, CodeGreen achieves an energy estimation accuracy with a coefficient of determination of R² = 0.9934 and demonstrates near-perfect workload linearity (R² = 0.9997), offering both high precision and low overhead.

Technology Category

Application Category

📝 Abstract
Accurate software energy measurement is critical for optimizing energy, yet existing profilers force a trade-off between measurement accuracy and overhead due to tight coupling with supported specific hardware or languages. We present CodeGreen, a modular energy measurement platform that decouples instrumentation from measurement via an asynchronous producer-consumer architecture. We implement a Native Energy Measurement Backend (NEMB) that polls hardware sensors (Intel RAPL, NVIDIA NVML, AMD ROCm) independently, while lightweight timestamp markers enable tunable granularity. CodeGreen leverages Tree-sitter AST queries for automated instrumentation across Python, C++, C, and Java, with straightforward extension to any Tree-sitter-supported grammar, enabling developers to target specific scopes (loops, methods, classes) without manual intervention. Validation against "Computer Language Benchmarks Game" demonstrates $R^2 = 0.9934$ correlation with RAPL ground truth and $R^2 = 0.9997$ energy-workload linearity. By bridging fine-grained measurement precision with cross-platform portability, CodeGreen enables practical algorithmic energy optimization across heterogeneous environments. Source code, video demonstration, and documentation for the tool are publicly available at: https://smart-dal.github.io/codegreen/.
Problem

Research questions and friction points this paper is trying to address.

software energy measurement
measurement accuracy
portability
hardware coupling
profiling overhead
Innovation

Methods, ideas, or system contributions that make the work stand out.

energy measurement
asynchronous instrumentation
Tree-sitter AST
cross-language profiling
hardware sensor decoupling
🔎 Similar Papers
No similar papers found.