pith. sign in

arxiv: 2604.04809 · v1 · submitted 2026-04-06 · 💻 cs.SE

A Validated Taxonomy on Software Energy Smells

Pith reviewed 2026-05-10 19:33 UTC · model grok-4.3

classification 💻 cs.SE
keywords software energy smellsenergy efficiencycode smellsgreen softwaretaxonomyempirical validationpython energy profilingroot cause analysis
0
0 comments X

The pith

A taxonomy classifies software energy waste into 12 primary smells and 65 root causes, validated by energy measurements on thousands of code pairs.

A machine-rendered reading of the paper's core claim, the machinery that carries it, and where it could break.

The paper builds a language-agnostic taxonomy of software energy smells by reviewing 60 papers to extract 320 patterns and group them into 12 smells with 65 root causes. It then validates the structure by running energy, time, and memory profiles on over 21,000 functionally equivalent Python code pairs and mapping 55 root causes to the highest-difference examples using an LLM pipeline. A sympathetic reader cares because software runs on billions of devices and its total energy use matters for cost and emissions, so a shared list of concrete causes gives developers a way to spot and remove waste without changing program behavior. The work also shows that 71 percent of samples contain multiple smells at once and that memory-related fixes produce the largest energy gains per change.

Core claim

Through a systematic literature review of 60 papers and exhaustive snowballing, the authors coded 320 inefficiency patterns into 12 primary energy smells and 65 root causes mapped to the primary smells. To empirically validate this taxonomy, they profiled over 21,000 functionally equivalent Python code pairs for energy, time, and memory, and classified the top 3000 pairs by energy difference using a multi-step LLM pipeline, mapping 55 of the 65 root causes to real code. The analysis reveals that 71% of samples exhibit multiple co-occurring smells, memory-related smells yield the highest per-fix energy savings, while power draw variation across patterns confirms that energy optimization is a

What carries the argument

The taxonomy of 12 primary energy smells and 65 associated root causes, which organizes literature patterns and links them to measured energy differences in code.

If this is right

  • Developers obtain a shared vocabulary and refactoring guidelines for each smell and cause.
  • Automated detection tools for energy smells can be constructed directly on the taxonomy structure.
  • The released labeled dataset supports training of energy-aware code generation models.
  • Energy optimization must be treated separately from performance optimization because power draw varies independently of time or memory.

Where Pith is reading between the lines

These are editorial extensions of the paper, not claims the author makes directly.

  • The same taxonomy structure could be tested in languages other than Python by repeating the profiling and mapping steps.
  • Refactoring tools built on the taxonomy would need to handle smell co-occurrence rather than treating each smell in isolation.
  • The LLM-assisted classification method could be reused to create validated taxonomies for other software qualities such as security or maintainability.
  • Community contributions to the released dataset could expand the set of mapped root causes beyond the initial 55.

Load-bearing premise

The multi-step LLM pipeline accurately classifies the top 3000 energy-differing code pairs to the 65 root causes without introducing errors that would invalidate the mapping of 55 causes.

What would settle it

A manual review of a random sample of the 3000 classified code pairs that shows the root cause assignments match human judgment at a high rate, or reveals frequent mismatches that would question the validation.

Figures

Figures reproduced from arXiv: 2604.04809 by Mohammadjavad Mehditabar, Saurabhsingh Rajput, Tushar Sharma.

Figure 1
Figure 1. Figure 1: Overview of the methodology is fundamentally governed by execution time as expressed by E = P × T. Also, the literature detailing performance anti￾patterns can contribute significantly to our taxonomy, because these issues are often less application-specific [33], [35] than pure energy studies [12], [13]. Hence, including these issues will help meet our goal of broader applicability. Nonetheless, we evalua… view at source ↗
Figure 2
Figure 2. Figure 2: Energy smells and root causes distribution [PITH_FULL_IMAGE:figures/full_fig_p006_2.png] view at source ↗
read the original 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 equivalent Python code pairs for energy, time, and memory, and classified the top 3000 pairs by energy difference using a multi-step LLM pipeline, mapping 55 of the 65 root causes to real code. The analysis reveals that 71% of samples exhibit multiple co-occurring smells, memory-related smells yield the highest per-fix energy savings, while power draw variation across patterns confirms that energy optimization cannot be reduced to performance optimization alone. Along with the taxonomy, we release the labeled dataset, including energy profiles and reasoning traces, to the community. Together, they provide a shared vocabulary, actionable refactoring guidelines, and an empirical foundation for energy smell detection, energy-efficient code generation, and green software engineering at large.

Editorial analysis

A structured set of objections, weighed in public.

Desk editor's note, referee report, simulated authors' rebuttal, and a circularity audit. Tearing a paper down is the easy half of reading it; the pith above is the substance, this is the friction.

Referee Report

1 major / 3 minor

Summary. The paper presents a taxonomy of software energy smells derived from a systematic literature review of 60 papers and snowballing, resulting in 12 primary energy smells and 65 root causes from 320 coded patterns. To validate it, the authors profile energy, time, and memory for over 21,000 functionally equivalent Python code pairs and apply a multi-step LLM pipeline to the top 3,000 pairs by energy difference, mapping 55 root causes to observed code instances. Key findings include 71% of samples having multiple co-occurring smells, highest energy savings from memory-related smells, and that energy optimization is not reducible to performance optimization. The labeled dataset including energy profiles and reasoning traces is made available.

Significance. This work provides a much-needed comprehensive and empirically supported taxonomy for software energy smells, which can serve as a foundation for tools in energy-efficient code detection, refactoring guidelines, and green software engineering research. The strengths include the systematic literature review process, the scale of the energy profiling experiment with 21,000 pairs, and the public release of the dataset with detailed traces, which supports reproducibility and further studies.

major comments (1)
  1. [Empirical validation section] The description of the multi-step LLM pipeline for classifying the 3000 highest energy-difference pairs to the 65 root causes provides no quantitative measures of accuracy (e.g., precision, recall, F1), no inter-annotator agreement with human experts, and no error analysis on a validation subsample. This is critical because the central claim of validating the taxonomy by mapping 55 root causes depends on the reliability of these classifications; without such metrics, classification errors could affect the count of mapped causes and the reported co-occurrence statistics.
minor comments (3)
  1. [Abstract] The abstract states that 55 of the 65 root causes were mapped but does not indicate the minimum number of observations required to consider a root cause 'mapped' or provide any breakdown by smell category.
  2. [Taxonomy presentation] The paper could benefit from a table summarizing the 12 primary smells and their associated root causes for quick reference.
  3. [Dataset release] Include the exact repository URL or DOI for the released dataset in the main text rather than only in a footnote or appendix.

Simulated Author's Rebuttal

1 responses · 0 unresolved

We thank the referee for their positive evaluation of the significance of our work and for the constructive feedback on the empirical validation. We address the major comment below.

read point-by-point responses
  1. Referee: [Empirical validation section] The description of the multi-step LLM pipeline for classifying the 3000 highest energy-difference pairs to the 65 root causes provides no quantitative measures of accuracy (e.g., precision, recall, F1), no inter-annotator agreement with human experts, and no error analysis on a validation subsample. This is critical because the central claim of validating the taxonomy by mapping 55 root causes depends on the reliability of these classifications; without such metrics, classification errors could affect the count of mapped causes and the reported co-occurrence statistics.

    Authors: We agree that formal quantitative metrics are essential to support the reliability of the classifications and the resulting mappings and co-occurrence statistics. The multi-step LLM pipeline used iterative prompting with chain-of-thought reasoning and explicit verification steps to reduce errors, but the original manuscript did not include accuracy metrics or error analysis. In the revised manuscript we will add a new subsection to the Empirical Validation section reporting results from a post-hoc manual validation: two human experts will independently annotate a stratified random subsample of 200 pairs (covering all 12 primary smells and a range of energy differences). This will enable computation of precision, recall, and F1 against the LLM outputs, Cohen's kappa for inter-annotator agreement, and a categorized error analysis of misclassifications. These additions will not alter the reported counts or statistics but will directly address the concern about classification reliability. revision: yes

Circularity Check

0 steps flagged

No significant circularity in derivation chain

full rationale

The taxonomy is constructed via systematic literature review of 60 external papers, with 320 patterns coded into 12 smells and 65 root causes. Validation uses independent energy profiling of over 21,000 Python pairs followed by LLM classification to map 55 causes to code examples. No step reduces a core claim to self-definition, a fitted parameter renamed as prediction, or a self-citation chain that bears the load. The process is self-contained against external literature and measured data rather than circular inputs.

Axiom & Free-Parameter Ledger

0 free parameters · 2 axioms · 0 invented entities

The central claim rests on the assumption that a systematic literature review plus LLM-assisted classification of measured code pairs produces a complete and accurate taxonomy; no free parameters or invented entities are introduced.

axioms (2)
  • domain assumption Systematic literature review of 60 papers plus snowballing captures all relevant energy inefficiency patterns
    Stated in the methods description of the abstract
  • domain assumption LLM pipeline can reliably map code differences to the 65 predefined root causes
    Used for classifying the top 3000 pairs

pith-pipeline@v0.9.0 · 5575 in / 1311 out tokens · 45307 ms · 2026-05-10T19:33:22.555253+00:00 · methodology

discussion (0)

Sign in with ORCID, Apple, or X to comment. Anyone can read and Pith papers without signing in.

Lean theorems connected to this paper

Citations machine-checked in the Pith Canon. Every link opens the source theorem in the public Lean library.

What do these tags mean?
matches
The paper's claim is directly supported by a theorem in the formal canon.
supports
The theorem supports part of the paper's argument, but the paper may add assumptions or extra steps.
extends
The paper goes beyond the formal theorem; the theorem is a base layer rather than the whole result.
uses
The paper appears to rely on the theorem as machinery.
contradicts
The paper's claim conflicts with a theorem or certificate in the canon.
unclear
Pith found a possible connection, but the passage is too broad, indirect, or ambiguous to say the theorem truly supports the claim.

Reference graph

Works this paper leans on

76 extracted references · 76 canonical work pages

  1. [1]

    Fowler,Refactoring: improving the design of existing code

    M. Fowler,Refactoring: improving the design of existing code. Addison-Wesley Professional, 2018

  2. [2]

    Toward a catalogue of architectural bad smells,

    J. Garcia, D. Popescu, G. Edwards, and N. Medvidovic, “Toward a catalogue of architectural bad smells,” inInternational conference on the quality of software architectures. Springer, 2009

  3. [3]

    Bdtex: A gqm-based bayesian approach for the detection of antipatterns,

    F. Khomh, S. Vaucher, Y .-G. Gu ´eh´eneuc, and H. Sahraoui, “Bdtex: A gqm-based bayesian approach for the detection of antipatterns,”Journal of Systems and Software, 2011

  4. [4]

    A survey on software smells,

    T. Sharma and D. Spinellis, “A survey on software smells,”Journal of Systems and Software, 2018

  5. [5]

    W. H. Brown, R. C. Malveau, H. W. S. McCormick, and T. J. Mowbray, AntiPatterns: refactoring software, architectures, and projects in crisis. John Wiley & Sons, Inc., 1998

  6. [6]

    Dependence anti patterns,

    D. Binkley, N. Gold, M. Harman, Z. Li, K. Mahdavi, and J. Wegener, “Dependence anti patterns,” in2008 23rd IEEE/ACM International Conference on Automated Software Engineering-Workshops. IEEE, 2008

  7. [7]

    Suryanarayana, G

    G. Suryanarayana, G. Samarthyam, and T. Sharma,Refactoring for software design smells: managing technical debt. Morgan Kaufmann, 2014

  8. [8]

    An empirical investigation on the relationship between design and architecture smells,

    T. Sharma, P. Singh, and D. Spinellis, “An empirical investigation on the relationship between design and architecture smells,”Empirical Software Engineering, 2020

  9. [9]

    Refac- toring test code,

    A. Van Deursen, L. Moonen, A. Van Den Bergh, and G. Kok, “Refac- toring test code,” inProceedings of the 2nd international conference on extreme programming and flexible processes in software engineering (XP2001). Citeseer, 2001

  10. [10]

    Automated detection of test fixture strategies and smells,

    M. Greiler, A. Van Deursen, and M.-A. Storey, “Automated detection of test fixture strategies and smells,” in2013 IEEE Sixth International Conference on Software Testing, Verification and Validation. IEEE, 2013

  11. [11]

    Does your configuration code smell?

    T. Sharma, M. Fragkoulis, and D. Spinellis, “Does your configuration code smell?” inProceedings of the 13th international conference on mining software repositories, 2016

  12. [12]

    Definition, implementation and validation of energy code smells: an exploratory study on an embedded system,

    A. Vetro, L. Ardito, G. Procaccianti, M. Morisioet al., “Definition, implementation and validation of energy code smells: an exploratory study on an embedded system,” inProceedings of ENERGY 2013: The Third International Conference on Smart Grids, Green Communications and IT Energy-aware Technologies, 2013

  13. [13]

    Removing energy code smells with reengineering services,

    M. Gottschalk, M. Josefiok, J. Jelschen, and A. Winter, “Removing energy code smells with reengineering services,” inINFORMATIK 2012. Gesellschaft f ¨ur Informatik eV , 2012

  14. [14]

    Identifying compiler options to minimize energy consumption for embedded platforms,

    J. Pallister, S. J. Hollis, and J. Bennett, “Identifying compiler options to minimize energy consumption for embedded platforms,”The Computer Journal, 2015

  15. [15]

    Investigating the correlation between performance scores and energy consumption of mobile web apps,

    K. Chan-Jong-Chu, T. Islam, M. M. Exposito, S. Sheombar, C. Val- ladares, O. Philippot, E. M. Grua, and I. Malavolta, “Investigating the correlation between performance scores and energy consumption of mobile web apps,” inProceedings of the 24th International Conference on Evaluation and Assessment in Software Engineering, 2020

  16. [16]

    D. A. Patterson and J. L. Hennessy,Computer organization and design ARM edition: the hardware software interface. Morgan kaufmann, 2016

  17. [17]

    On the energy consumption and performance of systems software,

    Z. Li, R. Grosu, P. Sehgal, S. A. Smolka, S. D. Stoller, and E. Zadok, “On the energy consumption and performance of systems software,” in Proceedings of the 4th Annual International Conference on Systems and Storage, 2011

  18. [18]

    Unifying dvfs and offlining in mobile multicores,

    A. Carroll and G. Heiser, “Unifying dvfs and offlining in mobile multicores,” in2014 IEEE 19th Real-Time and Embedded Technology and Applications Symposium (RTAS). IEEE, 2014

  19. [19]

    Energy efficiency across programming languages: how do energy, time, and memory relate?

    R. Pereira, M. Couto, F. Ribeiro, R. Rua, J. Cunha, J. P. Fernandes, and J. Saraiva, “Energy efficiency across programming languages: how do energy, time, and memory relate?” inProceedings of the 10th ACM SIGPLAN international conference on software language engineering, 2017

  20. [20]

    Twins or false friends? a study on energy consumption and performance of con- figurable software,

    M. Weber, C. Kaltenecker, F. Sattler, S. Apel, and N. Siegmund, “Twins or false friends? a study on energy consumption and performance of con- figurable software,” in2023 IEEE/ACM 45th International Conference on Software Engineering (ICSE). IEEE, 2023

  21. [21]

    Using the greenup, powerup, and speedup metrics to evaluate software energy efficiency,

    S. Abdulsalam, Z. Zong, Q. Gu, and M. Qiu, “Using the greenup, powerup, and speedup metrics to evaluate software energy efficiency,” in 2015 Sixth International Green and Sustainable Computing Conference (IGSC). IEEE, 2015

  22. [22]

    Parallel performance-energy predictive modeling of browsers: Case study of servo,

    R. Zambre, L. Bergstrom, L. A. Beni, and A. Chandramowlishwaran, “Parallel performance-energy predictive modeling of browsers: Case study of servo,” in2016 IEEE 23rd International Conference on High Performance Computing (HiPC). IEEE, 2016

  23. [23]

    Goetz,Java concurrency in practice

    B. Goetz,Java concurrency in practice. Pearson Education, 2006

  24. [24]

    The effects of generative ai on high-skilled work: Evidence from three field experiments with software developers,

    K. Z. Cui, M. Demirer, S. Jaffe, L. Musolff, S. Peng, and T. Salz, “The effects of generative ai on high-skilled work: Evidence from three field experiments with software developers,”Management Science, 2026

  25. [25]

    Green algorithms: quanti- fying the carbon footprint of computation,

    L. Lannelongue, J. Grealey, and M. Inouye, “Green algorithms: quanti- fying the carbon footprint of computation,”Advanced science, 2021

  26. [26]

    On global electricity usage of communica- tion technology: trends to 2030,

    A. S. Andrae and T. Edler, “On global electricity usage of communica- tion technology: trends to 2030,”Challenges, 2015

  27. [27]

    The iot energy chal- lenge: A software perspective,

    K. Georgiou, S. Xavier-de Souza, and K. Eder, “The iot energy chal- lenge: A software perspective,”IEEE Embedded Systems Letters, 2017

  28. [28]

    On reducing the energy consumption of software: From hurdles to requirements,

    Z. Ournani, R. Rouvoy, P. Rust, and J. Penhoat, “On reducing the energy consumption of software: From hurdles to requirements,” inProceedings of the 14th ACM/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM), 2020

  29. [29]

    Software development lifecycle for energy efficiency: techniques and tools,

    S. Georgiou, S. Rizou, and D. Spinellis, “Software development lifecycle for energy efficiency: techniques and tools,”ACM Computing Surveys (CSUR), 2019

  30. [30]

    Software performance antipatterns,

    C. U. Smith and L. G. Williams, “Software performance antipatterns,” inProceedings of the 2nd international workshop on Software and performance, 2000

  31. [31]

    New software performance antipatterns: More ways to shoot yourself in the foot,

    C. U. Smith and L. Williams, “New software performance antipatterns: More ways to shoot yourself in the foot,” inInt. CMG Conference, 2002

  32. [32]

    More new software performance an- tipatterns: Even more ways to shoot yourself in the foot,

    C. Smith and L. G. Williams, “More new software performance an- tipatterns: Even more ways to shoot yourself in the foot,” inComputer Measurement Group Conference, 2003

  33. [33]

    ” why is my code slow?

    H. Dargan, A. Gilbert-Diamond, A. J. Hartz, and R. C. Miller, “” why is my code slow?” efficiency bugs in student code,” inProceedings of the 56th ACM Technical Symposium on Computer Science Education V . 1, 2025

  34. [34]

    Beyond functional correctness: An exploratory study on the time efficiency of programming assign- ments,

    Y . Tao, W. Chen, Q. Ye, and Y . Zhao, “Beyond functional correctness: An exploratory study on the time efficiency of programming assign- ments,” inProceedings of the 46th International Conference on Software Engineering: Software Engineering Education and Training, 2024

  35. [35]

    How are performance issues caused and resolved?-an empirical study from a design perspective,

    Y . Zhao, L. Xiao, X. Wang, L. Sun, B. Chen, Y . Liu, and A. B. Bondi, “How are performance issues caused and resolved?-an empirical study from a design perspective,” inProceedings of the ACM/SPEC international conference on performance engineering, 2020

  36. [36]

    The impact of source code transformations on software power and energy consump- tion,

    C. Brandolese, W. Fornaciari, F. Salice, and D. Sciuto, “The impact of source code transformations on software power and energy consump- tion,”Journal of Circuits, Systems, and Computers, 2002

  37. [37]

    Static code analysis for reducing energy code smells in different loop types: a case study in java,

    R. P. Gurung, J. Porras, and J. Koistinaho, “Static code analysis for reducing energy code smells in different loop types: a case study in java,” in2024 10th International Conference on ICT for Sustainability (ICT4S). IEEE, 2024

  38. [38]

    Learning performance-improving code edits

    A. Madaan, A. Shypula, U. Alon, M. Hashemi, P. Ranganathan, Y . Yang, G. Neubig, and A. Yazdanbakhsh, “Learning performance-improving code edits,”arXiv preprint arXiv:2302.07867, 2023

  39. [39]

    Deepseek-v3.2: Pushing the frontier of open large lan- guage models,

    DeepSeek-AI, “Deepseek-v3.2: Pushing the frontier of open large lan- guage models,” 2025

  40. [40]

    Watts this smell: A comprehensive taxonomy of software energy smells,

    anonymous, “Watts this smell: A comprehensive taxonomy of software energy smells,” Mar. 2026. [Online]. Available: https: //doi.org/10.5281/zenodo.18896365

  41. [41]

    Guidelines for conduct- ing systematic mapping studies in software engineering: An update,

    K. Petersen, S. Vakkalanka, and L. Kuzniarz, “Guidelines for conduct- ing systematic mapping studies in software engineering: An update,” Information and software technology, 2015

  42. [42]

    Impact on energy consumption of design patterns, code smells and refactoring techniques: A systematic mapping study,

    O. Poy, M. ´A. Moraga, F. Garc ´ıa, and C. Calero, “Impact on energy consumption of design patterns, code smells and refactoring techniques: A systematic mapping study,”Journal of Systems and Software, 2025

  43. [43]

    Citations, research topics and active countries in software engineering: A bibliometrics study,

    V . Garousi and M. V . M ¨antyl¨a, “Citations, research topics and active countries in software engineering: A bibliometrics study,”Computer Science Review, 2016

  44. [44]

    Smells-sus: Sustainability smells in iac,

    S. Kosbar and M. Hamdaqa, “Smells-sus: Sustainability smells in iac,” in2025 IEEE/ACM 22nd International Conference on Mining Software Repositories (MSR). IEEE, 2025

  45. [45]

    Payment Card Industry Data Security Standard (PCI DSS),

    PCI Security Standards Council, “Payment Card Industry Data Security Standard (PCI DSS),” 2026. [Online]. Available: https: //www.pcisecuritystandards.org

  46. [46]

    Common Weakness Enumeration (CWE),

    The MITRE Corporation, “Common Weakness Enumeration (CWE),”

  47. [47]

    Available: https://cwe.mitre.org

    [Online]. Available: https://cwe.mitre.org

  48. [48]

    Automated Source Code Quality Measures (ISO/IEC 5055),

    Consortium for Information & Software Quality (CISQ), “Automated Source Code Quality Measures (ISO/IEC 5055),” 2026. [Online]. Available: https://www.it-cisq.org

  49. [49]

    Basics of qualitative research techniques,

    A. Strauss and J. Corbin, “Basics of qualitative research techniques,” 1998

  50. [50]

    Using thematic analysis in psychology,

    V . Braun and V . Clarke, “Using thematic analysis in psychology,” Qualitative research in psychology, 2006

  51. [51]

    Why attention fails: A taxonomy of faults in attention-based neural networks,

    S. Jahan, S. S. Rajput, T. Sharma, and M. M. Rahman, “Why attention fails: A taxonomy of faults in attention-based neural networks,”arXiv preprint arXiv:2508.04925, 2025

  52. [52]

    Recommended steps for thematic synthesis in software engineering,

    D. S. Cruzes and T. Dyba, “Recommended steps for thematic synthesis in software engineering,” in2011 international symposium on empirical software engineering and measurement. IEEE, 2011

  53. [53]

    IBM Project CodeNet,

    IBM CodeNet, “IBM Project CodeNet,” 2026. [Online]. Available: https://github.com/IBM/Project CodeNet

  54. [54]

    Enhancing energy-awareness in deep learning through fine-grained energy measurement,

    S. Rajput, T. Widmayer, Z. Shang, M. Kechagia, F. Sarro, and T. Sharma, “Enhancing energy-awareness in deep learning through fine-grained energy measurement,”ACM Transactions on Software Engineering and Methodology, 2024

  55. [55]

    Ai can be cognitively biased: An exploratory study on threshold priming in llm- based batch relevance assessment,

    N. Chen, J. Liu, X. Dong, Q. Liu, T. Sakai, and X.-M. Wu, “Ai can be cognitively biased: An exploratory study on threshold priming in llm- based batch relevance assessment,” inProceedings of the 2024 Annual International ACM SIGIR Conference on Research and Development in Information Retrieval in the Asia Pacific Region, 2024

  56. [56]

    Direct preference optimization: Your language model is secretly a reward model,

    R. Rafailov, A. Sharma, E. Mitchell, C. D. Manning, S. Ermon, and C. Finn, “Direct preference optimization: Your language model is secretly a reward model,”Advances in neural information processing systems, 2023

  57. [57]

    Techniques for low energy software,

    H. Mehta, R. M. Owens, M. J. Irwin, R. Chen, and D. Ghosh, “Techniques for low energy software,” inProceedings of the 1997 international symposium on Low power electronics and design, 1997

  58. [58]

    Energy aware software,

    A. Sinha and A. P. Chandrakasan, “Energy aware software,” inVLSI De- sign 2000. Wireless and Digital Imaging in the Millennium. Proceedings of 13th International Conference on VLSI Design. IEEE, 2000

  59. [59]

    Monitoring energy hotspots in software: Energy profiling of software code,

    A. Noureddine, R. Rouvoy, and L. Seinturier, “Monitoring energy hotspots in software: Energy profiling of software code,”Automated Software Engineering, 2015

  60. [60]

    Understanding the impact of object oriented programming and design patterns on energy efficiency,

    S. Maleki, C. Fu, A. Banotra, and Z. Zong, “Understanding the impact of object oriented programming and design patterns on energy efficiency,” in2017 Eighth International Green and Sustainable Computing Confer- ence (IGSC). IEEE, 2017

  61. [61]

    On the impact of code smells on the energy consumption of mobile applications,

    F. Palomba, D. Di Nucci, A. Panichella, A. Zaidman, and A. De Lucia, “On the impact of code smells on the energy consumption of mobile applications,”Information and Software Technology, 2019

  62. [62]

    Refactoring for energy effi- ciency: A reflection on the state of the art,

    G. Pinto, F. Soares-Neto, and F. Castor, “Refactoring for energy effi- ciency: A reflection on the state of the art,” in2015 IEEE/ACM 4th International Workshop on Green and Sustainable Software. IEEE, 2015

  63. [63]

    How software design affects en- ergy performance: A systematic literature review,

    D. Connolly Bree and M. ´O Cinn´eide, “How software design affects en- ergy performance: A systematic literature review,”Journal of Software: Evolution and Process, 2025

  64. [64]

    Towards an energy-consumption based com- plexity classification for resource substitution strategies

    H. H ¨opfner and C. Bunse, “Towards an energy-consumption based com- plexity classification for resource substitution strategies.” inGrundlagen von Datenbanken, 2010

  65. [65]

    Investigating the energy impact of android smells,

    A. Carette, M. A. Ait Younes, G. Hecht, N. Moha, and R. Rouvoy, “Investigating the energy impact of android smells,” in2017 IEEE 24th International Conference on Software Analysis, Evolution and Reengineering (SANER). IEEE, 2017

  66. [66]

    An investigation into energy-saving pro- gramming practices for android smartphone app development,

    D. Li and W. G. Halfond, “An investigation into energy-saving pro- gramming practices for android smartphone app development,” inPro- ceedings of the 3rd International Workshop on Green and Sustainable Software, 2014

  67. [67]

    A survey of energy consumption measurement in embedded systems,

    C. Guo, S. Ci, Y . Zhou, and Y . Yang, “A survey of energy consumption measurement in embedded systems,”IEEE Access, 2021

  68. [68]

    The influence of the java collection framework on overall energy consumption,

    R. Pereira, M. Couto, J. Saraiva, J. Cunha, and J. P. Fernandes, “The influence of the java collection framework on overall energy consumption,” inProceedings of the 5th International Workshop on Green and Sustainable Software, 2016

  69. [69]

    Recommending energy-efficient java collections,

    W. Oliveira, R. Oliveira, F. Castor, B. Fernandes, and G. Pinto, “Recommending energy-efficient java collections,” in2019 IEEE/ACM 16th International Conference on Mining Software Repositories (MSR). IEEE, 2019

  70. [70]

    Energy patterns for web: An exploratory study,

    P. Rani, J. Zellweger, V . Kousadianos, L. Cruz, T. Kehrer, and A. Bac- chelli, “Energy patterns for web: An exploratory study,” inProceedings of the 46th International Conference on Software Engineering: Software Engineering in Society, 2024

  71. [71]

    Ecoandroid: An android stu- dio plugin for developing energy-efficient java mobile applications,

    A. Ribeiro, J. F. Ferreira, and A. Mendes, “Ecoandroid: An android stu- dio plugin for developing energy-efficient java mobile applications,” in 2021 IEEE 21st international conference on software quality, reliability and security (QRS). IEEE, 2021

  72. [72]

    An empirical study of android behavioural code smells detection,

    D. Prestat, N. Moha, and R. Villemaire, “An empirical study of android behavioural code smells detection,”Empirical Software Engineering, 2022

  73. [73]

    Detecting antipatterns in android apps,

    G. Hecht, R. Rouvoy, N. Moha, and L. Duchien, “Detecting antipatterns in android apps,” in2015 2nd ACM international conference on mobile software engineering and systems. IEEE, 2015

  74. [74]

    Lightweight detection of android-specific code smells: The adoctor project,

    F. Palomba, D. Di Nucci, A. Panichella, A. Zaidman, and A. De Lucia, “Lightweight detection of android-specific code smells: The adoctor project,” in2017 IEEE 24th international conference on software analysis, evolution and reengineering (SANER). IEEE, 2017

  75. [75]

    Ecocode: A sonarqube plugin to remove energy smells from android projects,

    O. Le Goaer and J. Hertout, “Ecocode: A sonarqube plugin to remove energy smells from android projects,” inProceedings of the 37th IEEE/ACM International conference on automated software engineering, 2022

  76. [76]

    Quantifying the performance impact of sql antipatterns on mobile applications,

    Y . Lyu, A. Alotaibi, and W. G. Halfond, “Quantifying the performance impact of sql antipatterns on mobile applications,” in2019 IEEE Inter- national Conference on Software Maintenance and Evolution (ICSME). IEEE, 2019