Source-linked AI summary
Developer Attitudes and Practices Towards Optimizing Software Energy Consumption
Max Weber, Alina Mailach, Florian Sattler, Sven Apel, Norbert Siegmund
TL;DR
Software energy consumption often remains secondary rather than a primary development objective, despite its power, cooling, cost, and environmental implications. Using a mixed-methods approach, the study finds that developers commonly influence energy indirectly through proxy metrics, while organizational factors and limitations constrain broader claims about prevalence.
Problem
Software energy consumption remains secondary in day-to-day development, despite its substantial power, cooling, cost, and environmental implications.
Method
The study uses a mixed-methods approach to examine how energy considerations are acted upon by professional developers.
Results
77% of participants influence software energy consumption through development decisions, with energy considerations often materializing indirectly through embedded practices.
Takeaways & Limitations
Energy-aware engineering should explicitly support proxy-metric use while clearly communicating its relationship to software energy consumption.
Takeaways & Limitations
The study’s factors limit claims about prevalence, although they do not invalidate its qualitative insights.
Abstract
from arXiv · showhide
Context: Software significantly influences the efficiency with which hardware resources are utilized, yet software energy consumption is seldom treated as a first-class concern in day-to-day development practice. Objective: This study investigates professional developers' attitudes, decision-making, and development practices related to software energy consumption, with particular emphasis on how energy considerations are recognized, assessed, and acted upon during software development. Method: To this end, we conduct an online survey with 134 software developers. Our study combines quantitative analyses with a qualitative open-card sorting of free-text responses to characterize perceptions, practices, and reasoning patterns around energy consumption. Findings: Energy consumption is explicitly considered in only a minority of projects. More commonly, developers influence energy use indirectly by optimizing proxy properties such as execution time and CPU utilization. Responses to scenario-based questions reveal systematic blind spots in this mental model, including cases in which performance improvements increase energy consumption or exhibit no correlation. We also identify organizational disincentives, limited tooling, and educational gaps as major barriers to adoption. Implications: (1) Institutionalize energy-aware approaches through visible flagship deployments that demonstrate value, (2) expand research and education on energy-performance trade-offs, and (3) develop practical, developer-oriented measurement and feedback tools that lower adoption barriers.
1 Introduction
This study examines how professional developers recognize, assess, and act on software energy consumption, finding that energy work is usually indirect and unsystematic. A survey of 134 developers identifies proxy-based reasoning, measurement barriers, and organizational obstacles as central challenges.
- Motivation: Software decisions can substantially affect energy consumption, making code-level efficiency a direct lever for reducing computing systems’ energy footprint.The paper motivates this concern through evidence that programming-language and framework choices can produce substantial energy differences.
- Findings: Energy optimization is explicitly present in roughly one-third of reported projects, while about two-thirds of participants optimize proxies such as runtime or CPU utilization.Approximately one-quarter of developers also consider energy optimization not worth the effort in their context.
- Barriers: Energy measurement is perceived as too difficult or time-consuming when performed rigorously, creating demand for low-barrier measurement and feedback methods.Energy consumption is rarely captured systematically, even among developers who report caring about it.
- Implications: The study identifies education gaps, inadequate tooling, and organizational disincentives as structural barriers to regular energy-aware development.Its recommendations are to integrate energy activities into development, strengthen education on trade-offs, and develop practical developer-oriented tooling.
- Findings: Developers often equate runtime with energy consumption, leaving only a small subset able to identify cases where performance and energy diverge or conflict.The study reports preliminary indications that more hands-on energy-management experience may improve recognition of these cases.
- Contributions: The paper contributes a mixed-method characterization of 134 professionals, evidence of indirect energy work, analysis of proxy reliance, and a replication package.The analysis combines quantitative survey results with card sorting and category graph construction of open-ended responses.
2 Related Work
Prior research covers measurement, modeling, optimization, and practitioner awareness, but recurring misconceptions, limited tooling, and weak institutional support remain. This study extends that literature by examining incentives and proxy-metric misconceptions across diverse domains and regions.
- Research landscape: The field spans instrumentation, runtime measurement, energy-use modeling, optimization techniques, and hardware-aware execution strategies.Recent work also includes frameworks for estimating computational carbon footprints across systems.
- Practitioner evidence: Prior practitioner studies report limited awareness, unfamiliarity with measurement techniques, uncertainty about energy waste, and reliance on performance or other indirect proxies.These studies also describe proxy metrics as potentially unreliable and energy requirements as often implicit.
- Domain-specific findings: Mobile-focused research identifies insufficient integrated tool support and limited structured guidance, while energy bugs are often diverse and subtle.These characteristics make traditional debugging approaches less effective for detecting energy problems.
- Open challenges: Reviews describe a fragmented field with limited convergence on standardized practices, metrics, and tooling, despite increasingly solid technical foundations.Translating technical advances into everyday development practice remains an open challenge.
- Barriers: Across surveys, recurring barriers include limited awareness, inadequate measurement tooling, imperfect proxies, insufficient education, weak incentives, and organizational constraints.These barriers persist across settings even as awareness increases in mobile and large-scale data-center environments.
- Study positioning: This study broadens prior work through geographically and applicationally diverse sampling and targets incentives and misconceptions surrounding proxy-based energy estimation.It therefore examines why energy-aware practices remain unsystematic despite growing technical and methodological support.
3 Methodology
The study uses a survey organized around five research questions covering developers’ perceptions, assessment, mitigation practices, proxy metrics, and adoption support for software energy consumption. It combines closed and open-ended questions, branching paths, scenario-based probes, and qualitative card sorting.
- The research questions examine how developers prioritize energy consumption, assess it, mitigate energy bugs, relate it to performance metrics, and support its adoption.
- Energy assessment is studied alongside the practical difficulty of measurement, developers’ reliance on proxy metrics, and variable or inverted energy-performance correlations.
- The survey contains 22 closed and 6 open-ended questions, with branch-specific questions selected according to participants’ previous answers.
- The questionnaire addresses five areas: perceived importance, assessment, mitigation of energy bugs, proxy metrics, and challenges or solutions.
- Nine survey questions are novel contributions, including questions on energy assessment, energy-bug mitigation, proxy metrics, and scenario-based mental-model testing.
- The study surveys 134 participants selected through an energy-relevance screening question, while acknowledging that this strategy does not produce a representative software-engineering sample.
4 Results
The results section first reports closed-question responses and then presents themes from the qualitative analysis. This structure combines quantitative answers with an account of participants’ recurring arguments.
- For each research question, the study first presents participants’ answers to closed questions and then reports the qualitative analysis.
- The qualitative results introduce all final themes identified through the analysis.
4.1 RQ1: How do developers’ perceptions of the importance of software energy consumption align with actual prioritization and treatment in software projects?
Energy is explicitly prioritized by a minority of developers, while many influence energy indirectly through performance, battery, memory, or related proxy goals. Organizational priorities, perceived irrelevance, limited expertise, and measurement barriers shape this uneven treatment.
- 59 developers consider energy important personally, but most rate it unimportant for colleagues (74), companies (74), and customers (76).Only 21, 27, and 32 respectively consider it important for those stakeholder groups.
- 58 participants focus on performance, battery lifetime, or memory consumption, while 22 regard energy as irrelevant to their context.
- 103 of 134 projects are affected by energy-related development decisions, including indirect effects from proxy properties.The study distinguishes explicit engagement, where energy is a first-class requirement, from implicit engagement through proxy optimization.
- 55 respondents cite lack of management interest, while 46 each cite absent customer demand and irrelevance to the use case.Other reported barriers include lack of expertise (32), lack of time (31), and high perceived complexity (16).
- Developers describe energy optimization as both a side product of other optimizations and a means of improving properties such as performance.Supportive arguments emphasize workflow synergies, while negative arguments emphasize methodological uncertainty and weak incentives.
- 45 of 134 participants (34 %) explicitly consider energy consumption in their projects.
4.2 RQ2: How is software energy consumption assessed by practitioners amid challenges of integrating it into development workflows?
Practitioners usually assess software energy indirectly, irregularly, and at coarse system levels rather than through continuous direct measurement. Although tooling remains poorly integrated and unfamiliar, existing automation shows that systematic assessment is technically feasible.
- Energy consumption is assessed mainly after explicit customer requests (18) or through developer intuition (17), while continuous monitoring is uncommon.Assessments after releases are reported by 15 participants, after feature completion by 5, and after each commit by 4.
- System-level assessment is most common (32), followed by feature-level (16), module-level (13), code-level (11), and development-process assessment (10).The preference for coarse granularity is associated with the complexity and tooling requirements of fine-grained measurement.
- 10 of 35 participants automate energy assessment in their pipelines, indicating that automated monitoring is achievable in practice.The findings identify awareness, education, and perceived relevance—not only technical feasibility—as adoption obstacles.
- Direct measurement tools remain less used than CPU and runtime proxies, and available measurement frameworks have not reached mainstream adoption.Practitioners describe tooling as inaccessible, unfamiliar, or poorly integrated into existing workflows.
- Energy and performance are not necessarily correlated, particularly in heterogeneous or distributed systems, limiting proxy-based inference.The study reports that assessment feasibility depends on application domain and measurement granularity.
4.3 RQ3: What strategies and development practices are used to mitigate software energy consumption?
Energy-related mitigation primarily targets design, hardware, and source-code decisions, while operational integration and institutional learning remain limited. Developers usually analyze and fix regressions, but debugging can require whole-system reasoning and hardware measurements.
- 36 participants report energy optimizations affecting design and construction decisions, followed by hardware (30) and source-code decisions (27).These results indicate emphasis on architectural and conceptual choices, such as programming-language selection.
- Only 2 participants mention operations or DevOps, indicating weak integration of energy-aware practices into deployment and monitoring workflows.
- 27 participants fix and 26 analyze detected energy regressions, but only 11 document them and 3 ignore them.Energy regressions are commonly treated as actionable issues, yet documentation and institutionalization remain limited.
- Energy debugging can require whole-system reasoning across software, hardware, and runtime configurations, with measurements on real hardware often needed.
- Low documentation limits organizational learning and hinders long-term integration of energy-aware practices into software engineering processes.The paper calls for better-integrated tooling, clearer practices, and stronger alignment with existing workflows.
4.4 RQ4: What mental models do practitioners use to relate software energy consumption to other metrics such as runtime performance?
Developers commonly treat runtime performance and CPU activity as proxies for software energy consumption, relying on a predominantly monotonic performance–energy mental model. Scenario responses reveal systematic difficulty recognizing negative or absent correlations and situations where faster execution can increase energy use.
- Proxy-based mental models: Developers predominantly reason about energy consumption through performance- and CPU-centric perspectives rather than direct physical measurement.Energy is treated as an indirect outcome of optimizing other system-level properties.
- Scenario judgments: Across scenarios, participants generally expect energy consumption to increase with longer execution times, especially for positive correlations.Most participants correctly classify strong and moderate positive relationships in the video-encoding scenario.
- Scenario judgments: Most participants fail to identify inverse energy–execution-time relationships and often favor moderate positive correlations instead.Situations where performance improvements increase energy consumption are rarely anticipated.
- Scenario judgments: Many participants also expect positive relationships when performance and energy are uncorrelated, indicating difficulty recognizing decoupled behavior.These cases require interpreting system-level or performance-related indicators beyond the usual monotonic assumption.
- Proxy suitability: Runtime performance and CPU utilization are generally rated as highly suitable proxies for energy consumption.Electricity bills receive more favorable ratings than disk and RAM utilization, despite being an indirect aggregated outcome.
- Developer characteristics: Difficulty judging energy–performance correlations is broadly shared across developer profiles, with only isolated associations involving seniority or experience.The regression model explains only a small fraction of accuracy variance, McFadden R2 = 0.063.
- Implications: The findings motivate tools that qualify proxy-based reasoning and signal when direct energy measurements are required.Educational counterexamples may support more situation-aware mental models.
4.5 RQ5: What strategies, resources, or incentives could support practitioners in better managing software energy use?
Participants describe energy-aware development as constrained mainly by missing incentives, difficult assessment, unclear responsibility, limited tooling, educational gaps, and absent standards. Proposed responses emphasize embedding energy practices across development, strengthening education and research, improving assessment support, and making economic value visible.
- Challenges: Lack of incentives is the most dominant barrier, as energy consumption is often viewed as economically irrelevant or subordinate to other priorities.Absent economic or contractual incentives make energy-aware practices difficult to justify within existing projects.
- Challenges: Responsibility for energy consumption is fragmented across hardware choices, third-party libraries, and source-code inefficiencies.This fragmented attribution complicates systematic adoption of energy-aware practices.
- Challenges: Developers identify educational deficits, methodological uncertainty, and missing or inadequate tooling and metrics for locating energy inefficiencies.Participants also report that research and practical support do not fully match problems encountered in practice.
- Challenges: Absent standards make energy-related efforts difficult to benchmark, compare, and communicate.Participants call for standardized foundations and quickly evaluable, traceable metrics.
- Challenges: Energy assessment is technically and methodologically difficult because identifying targets, measuring consumption, and attributing causes involve complex interactions.Developers particularly describe challenges involving asynchronous units, multithreading, and unpredictable efficiencies.
- Strategies: Economic mechanisms such as demonstrating benefits and increasing monetary motivation are proposed to strengthen adoption.These suggestions directly address the prominence of missing incentives.
- Strategies: Proposed solutions include embedding energy awareness across the software development life cycle rather than relying on isolated technical choices.Changing programming language alone is insufficient because wasteful implementations can occur in generally energy-efficient languages.
- Strategies: Participants recommend targeted education and research on software energy consumption, machine architecture, and profiling practices.They characterize the topic as vague and practitioners’ understanding as shallow.
4.6 Implications for Practitioners
The paper recommends making energy assessment visible and routine, validating proxy assumptions with direct measurements in complex workloads, and framing energy efficiency through concrete stakeholder value. Existing tools and workflow integrations can help institutionalize these practices.
- Validate proxies: Direct measurements such as RAPL-based readings or system-level power metering help avoid optimization decisions based on incorrect proxy assumptions.The recommendation applies where proxy relationships are unreliable.
- Make energy routine: Automated energy assessments can be integrated into CI/CD pipelines using existing measurement frameworks such as RAPL, PowerAPI, or FAMLEM.The paper recommends treating automated energy checks like test-coverage gates.
- Make energy visible: Energy regressions should become first-class development artifacts tracked in issue systems, regression pipelines, and production monitoring.Visibility at existing decision points can lower adoption barriers without requiring entirely new processes.
- Validate proxies: Performance and CPU proxies should be validated with targeted energy measurements for parallel, memory-intensive, or communication-heavy workloads.These contexts can exhibit negative or absent energy–performance correlations that proxies fail to capture.
- Build justification: Practitioners should frame energy efficiency through reduced infrastructure costs, extended battery life, or regulatory compliance.Concrete project-specific return-on-investment arguments are presented as more likely to unlock organizational support than abstract sustainability goals.
4.7 Threats to Validity
The study’s validity is constrained by voluntary recruitment through professional networks and specialized communities, limiting representativeness and generalizability. Its exploratory survey design and scenario-based questions also require cautious interpretation, particularly for causal claims and some accuracy estimates.
- External validity: These sampling factors limit prevalence claims, although the authors state they do not invalidate the study’s qualitative insights.The study includes developers who do not engage in energy assessment and optimization.
- Construct and internal validity: The exploratory and descriptive design supports analytical insights rather than causal claims.Alternative categorizations of the collaboratively refined card-sorting themes remain possible.
- External validity: Voluntary recruitment through professional networks and specialized communities may create selection bias toward developers already interested in quality, performance, or energy efficiency.Participants may have higher baseline awareness than developers in the broader population.
- External validity: The sample is diverse relative to single-company or single-language studies but is not representative of software engineering professionals overall.Findings may not directly generalize to less experienced developers, higher-level abstractions, or domains where energy is rarely discussed.
- Construct validity: Scenario answer options may linguistically preload responses, especially when “consumes double energy” implies an exact linear relationship.Careful participants might reject that option despite understanding the directional relationship, potentially underestimating correct responses.
5 Conclusion
The study provides a mixed-methods empirical view of professional developers’ energy-related practices, finding a gap between broad acknowledgment and systematic implementation. Developers commonly rely on performance proxies, while misconceptions, organizational barriers, and limited integration hinder energy-aware development.
- Conclusion: A survey of 134 practitioners finds energy efficiency relevant but inconsistently accounted for in software development.Only a minority treat energy efficiency as a first-class requirement, although many optimize properties that affect energy consumption.
- Conclusion: Developers overwhelmingly reason about energy through proxy metrics, especially runtime performance and CPU utilization.These properties are routinely optimized even when energy is not an explicit project goal.
- Conclusion: Scenario-based evaluation reveals systematic misconceptions about performance–energy relationships, including difficulty anticipating negative or absent correlations.These biases persist even among developers with prior experience in energy-aware projects.
- Conclusion: Missing incentives, unclear responsibility, limited stakeholder interest, and gaps in awareness and education constrain adoption more than technical feasibility alone.A notable subset already integrates automated energy assessment into CI/CD pipelines, showing that such integration is technically feasible.
- Implications: Energy-aware engineering should support proxy use while communicating when proxies fail and making energy effects visible within existing workflows.The recommendations emphasize seamless tooling integration and feedback at decision points developers already act upon.
- Implications: The paper contributes practitioner-grounded directions for closing the gap between energy awareness and systematic practice through better tooling, education, and dissemination.Its conclusion frames these directions as implications for both research and practice.