← Derniers articles
💻 informatique

Measuring Code Level Determinants of Software Sustainability: A Systematic Literature Review

Cette revue systématique de la littérature portant sur 137 études synthétise les déterminants et les métriques au niveau du code pour la durabilité logicielle, révélant un écart de recherche significatif concernant la mesure du carbone par rapport à l'énergie, et propose un cadre de décision fondé et des directives exploitables pour aider les développeurs à construire des logiciels plus verts.

Auteurs originaux : Zoya Mahboob, Atif Jilani, Qurrat Ul Ain

Publié 2026-10-22
📖 6 min de lecture🧠 Analyse approfondie

Auteurs originaux : Zoya Mahboob, Atif Jilani, Qurrat Ul Ain

Article original sous licence CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). ✨ Ceci est une explication générée par l'IA de l'article ci-dessous. Elle n'a pas été rédigée ni approuvée par les auteurs. Pour une précision technique, consultez l'article original. Lire la clause de non-responsabilité complète

Chaque fois qu'un programme informatique s'exécute, de l'application sur un smartphone aux systèmes massifs qui gèrent les services cloud mondiaux, il puise de l'énergie dans le réseau électrique. Cette consommation n'est pas seulement une question de coût ; elle est un contributeur direct aux émissions de carbone qui réchauffent la planète. Si les centres de données abritant ces systèmes sont bien connus pour leurs demandes énergétiques, le logiciel lui-même — les lignes de code écrites par les développeurs — joue un rôle caché mais décisif dans la quantité d'électricité utilisée. Tout comme la conception du moteur d'une voiture dicte son efficacité énergétique, les choix spécifiques faits lors de l'écriture du code déterminent la quantité d'énergie dont un programme a besoin pour fonctionner. Certains choix sont efficaces, tandis que d'autres gaspillent de l'énergie sans que l'utilisateur ne s'en aperçoive jamais.

Pendant des années, des chercheurs ont étudié comment rendre les logiciels plus verts, mais les preuves étaient éparpillées à travers des milliers d'articles, utilisant souvent des méthodes différentes pour mesurer les mêmes choses. Une nouvelle revue systématique, publiée par des chercheurs de l'Université nationale des sciences de l'informatique et des technologies émergentes du Pakistan, rassemble ces connaissances fragmentées. En analysant 137 études examinées par des pairs publiées entre fin 2015 et début 2026, l'équipe a créé une carte claire de ce qui compte le plus pour la durabilité dans les décisions de codage. Ils ont découvert que, bien que le domaine ait progressé rapidement, il s'est largement concentré sur la mesure de la consommation d'énergie, laissant une lacune significative dans la mesure des émissions de carbone qui en résultent, alors même que les réglementations commencent à exiger la comptabilité carbone.

Les chercheurs ont commencé par classer la vaste littérature existante dans un système structuré. Ils ont identifié deux catégories principales d'informations : les choix spécifiques faits par les développeurs, appelés déterminants, et les manières dont ces choix sont mesurés, appelées métriques d'impact. Les déterminants vont du plus large, comme le choix du langage de programmation ou l'algorithme utilisé pour résoudre un problème, au plus granulaire, comme la façon dont les données sont stockées en mémoire ou la manière dont les boucles sont écrites. Les métriques sont les outils utilisés pour observer l'effet de ces choix, mesurant principalement la quantité d'énergie utilisée ou le temps qu'une tâche prend. L'équipe a organisé ces résultats pour montrer à quel moment de le processus de développement logiciel ces décisions sont prises et quand leurs effets sont réellement observés.

L'une des conclusions les plus frappantes concerne l'ampleur de l'impact que peuvent avoir les décisions de haut niveau. La revue confirme que le choix du langage de programmation est un facteur dominant. Les études montrent systématiquement que les langages compilés, qui sont traduits directement en code machine, peuvent être jusqu'à vingt fois plus économes en énergie que les langages interprétés, qui sont traités ligne par ligne pendant l'exécution. De même, le choix de l'algorithme — la recette mathématique qu'un programme suit — peut créer des différences massives dans l'utilisation de l'énergie. Un algorithme plus efficace peut réduire la consommation d'énergie de plusieurs ordres de grandeur, une différence si grande qu'aucun ajustement mineur du code ne pourra jamais l'égaler. Malgré cela, la revue note que ces décisions à fort impact ne sont pas les sujets les plus fréquemment étudiés dans la littérature ; les chercheurs ont passé plus de temps à examiner des détails plus petits et moins impactants, comme des styles de codage spécifiques ou des optimisations mineures.

L'étude a également cartographié le moment où ces décisions interviennent. La grande majorité de la recherche se concentre sur la phase d'implémentation, lorsque le code est écrit pour la première fois, et la phase d'exécution, lorsque le logiciel est réellement en train de fonctionner. Cependant, une lacune critique a été identifiée dans la phase de test. Très peu d'études examinent comment le processus de test du logiciel, ou le code de test lui-même, contribue au gaspillage d'énergie. Il s'agit d'une omission importante, car le développement de logiciels modernes repose lourdement sur des systèmes de tests automatisés qui s'exécutent des milliers de fois par jour, consommant potentiellement plus d'énergie que le produit final lui-même. Les chercheurs soulignent que ce domaine reste largement inexploré, suggérant une opportunité majeure d'amélioration future.

La conclusion la plus urgente concerne ce qui est mesuré. La revue a révélé que 131 des 137 études mesuraient la consommation d'énergie, utilisant souvent des compteurs matériels spécialisés pour suivre l'utilisation de l'électricité jusqu'au joule. En revanche, seules trois études mesuraient directement les émissions de carbone. Ce déséquilibre est problématique car les réglementations mondiales passent de plus en plus du suivi de l'énergie au suivi du carbone. Les chercheurs soulignent que ce fossé est facilement comblable. Puisque les émissions de carbone sont calculées en multipliant l'utilisation de l'énergie par l'intensité carbone du réseau électrique local, les données abondantes sur l'énergie pourraient être converties en données de carbone si les chercheurs enregistraient simplement le contexte de la source d'énergie. Actuellement, le domaine possède les chiffres de l'énergie mais manque du contexte carbone nécessaire pour le reporting environnemental moderne.

Pour aider les développeurs à appliquer ces résultats, l'équipe a créé un cadre de décision pratique. Il agit comme un guide pour le dépannage des problèmes de durabilité. Si un service logiciel coûte trop cher à faire fonctionner, le cadre suggère d'examiner d'abord le langage de programmation et l'algorithme avant de s'inquiéter des ajustements mineurs du code. Si une application mobile épuise une batterie, il pointe vers des modèles de codage spécifiques connus pour gaspiller de l'énergie. Les directives soulignent que les développeurs doivent mesurer l'énergie directement plutôt que de deviner en fonction de la vitesse d'exécution d'un programme, car un programme plus rapide n'est pas toujours un programme plus efficace. Ils recommandent également de fixer des budgets énergétiques explicites pour les fonctionnalités logicielles, en traitant le gaspillage d'énergie avec le même sérieux qu'un bogue logiciel.

La revue conclut que le domaine du génie logiciel durable mûrit, avec une communauté internationale croissante et des méthodes établies. Cependant, elle appelle à un changement de focus. Les chercheurs sont incités à étudier plus profondément la phase de test, à reproduire les résultats sur les décisions à fort impact comme le choix du langage, et à commencer à rapporter les émissions de carbone parallèlement aux données énergétiques. Pour les professionnels de l'industrie, le message est clair : le moyen le plus efficace de réduire l'empreinte environnementale des logiciels n'est pas par des ajustements mineurs, mais par des choix fondamentaux faits dès le début du processus de développement. En choisissant des langages, des algorithmes et des structures de données efficaces, et en mesurant les résultats avec précision, les développeurs peuvent réduire considérablement le coût énergétique et carbone du monde numérique.

Noyé(e) sous les articles dans votre domaine ?

Recevez des digests quotidiens des articles les plus récents correspondant à vos mots-clés de recherche — avec des résumés techniques, dans votre langue.

Essayer Digest →