Software Ecodesign: Estimating and Reducing Software Environmental Footprint
Eco-Conception Logicielle: Estimation et Réduction de l’Empreinte Environnementale des Logiciels
Abstract
Human societies have become increasingly dependent on digital services, which now influence nearly every aspect of daily life and economic sectors. This increase in software services is closely tied to the rise and rapid renewal of digital devices, both for consumers and backbone infrastructure. However, this trend results in an environmental footprint that seems incompatible with planetary boundaries. Software can be a significant driver of this environmental footprint: software deployments steer energy consumption, and the need for increasingly sophisticated software requires greater computing power, thereby accelerating the manufacturing and rapid turnover of devices. As such, there is a need to identify holistic action levers to reduce the environmental footprint of software. However, current approaches often focus solely on the use phase, considering only energy consumption and carbon footprint, thereby overlooking other critical aspects of environmental impact that occur throughout the software’s entire life cycle.
In this PhD thesis, I combine different approaches from various research fields to identify meaningful levers to reduce software environmental footprint. First, I assess the benefits and drawbacks of top-down analyses to assess the ICT sector’s carbon footprint, and demonstrate their benefit to assess the sector’s contribution to other impacts, specifically metals and minerals. Building on the observed upward trend, I then adopt a bottom-up methodology to develop tools and methodologies for assessing and identifying hotspots in various aspects of the environmental footprint of digital services. Specifically, I assess the environmental footprint of cloud services and user devices from a life cycle perspective, while proposing a novel methodology to systematically track uncertainties arising from reference sources and modeling choices within these estimations. To move beyond the usage phase and energy footprint of software, I also propose a methodology and associated tool to holistically assess impacts along the entire software life cycle.
Impact assessment, however, is only the first step toward software ecodesign. I, therefore, examine the different liabilities of software components and introduce a conceptual model to help software stakeholders define actionable metrics for reducing the environmental footprint of software within their areas of responsibility. Within this conceptual framework, I introduce a new architectural quality metric that focuses on minimizing resource waste induced by the architecture of software, as a straightforward implementable solution. Additionally, I propose a practical approach for software stakeholders to strive towards proportionality between their environmental footprint and the evolution of usage over time.
Les sociétés humaines sont devenues de plus en plus dépendantes des services numériques, qui sont désormais omniprésents dans presque tous les aspects de la vie quotidienne et des secteurs économiques. Cette augmentation du nombre de logiciels est étroitement liée à l’essor et au renouvellement rapide des appareils numériques, tant pour les consommateurs que pour l’infrastructure réseau et informatique. Cependant, cette tendance génère une empreinte environnementale qui apparait incompatible avec les limites planétaires. Les logiciels peuvent être un facteur important de cette empreinte environnementale croissante: les déploiements de logiciels influent la consommation d’énergie, et le besoin de logiciels de plus en plus sophistiqués nécessite une plus grande puissance de calcul, accélérant ainsi la fabrication et le renouvellement fréquent des appareils. Il est donc nécessaire d’identifier des leviers d’action holistiques pour réduire l’empreinte environnementale des logiciels. Cependant, les approches actuelles se concentrent souvent uniquement sur la phase d’utilisation, en prenant en compte uniquement la consommation d’énergie et l’empreinte carbone, négligeant ainsi d’autres aspects critiques de l’impact environnemental qui occurrent tout au long du cycle de vie du logiciel.
Dans cette thèse de doctorat, je combine différentes approches issues de divers domaines de recherche pour identifier des leviers significatifs pour réduire l’empreinte environnementale des logiciels. Dans un premier temps, j’évalue les avantages et les inconvénients des analyses top-down pour évaluer l’empreinte carbone du secteur des Technologies de l’Information et de la Communication (TIC), et je démontre leur intérêt pour évaluer l’impact du secteur sur d’autres catégories d’impact, notamment sur les métaux et les minéraux. En m’appuyant sur la tendance à la hausse observée, j’adopte ensuite une méthodologie bottom-up pour développer des outils et des méthodologies permettant d’évaluer et d’identifier des leviers de réduction dans divers aspects de l’empreinte environnementale des services numériques. Plus précisément, j’évalue l’empreinte environnementale des services cloud et des appareils utilisateurs avec une pensée cycle de vie, tout en proposant une nouvelle méthodologie pour suivre systématiquement les incertitudes découlant des sources de référence et des choix de modélisation au sein de ces estimations. Pour aller au-delà de la phase d’usage et de l’empreinte énergétique des logiciels, je propose également une méthodologie et un outil associé pour évaluer de manière holistique les impacts occurants tout au long du cycle de vie du logiciel.
L’estimation d’impacts n’est cependant que la première étape dans l’écoconception des logiciels. J’explore donc les différentes responsabilités des composants logiciels, et introduis un modèle conceptuel pour aider les différentes parties prenantes du logiciel à définir des métriques pour réduire l’empreinte environnementale des logiciels, dans leurs domaines de responsabilité. Dans ce cadre conceptuel, j’introduis une nouvelle métrique de qualité architecturale qui se concentre sur la minimisation du gaspillage de ressources induit par l’architecture du logiciel, en tant que solution simple et implémentable. De plus, je propose une approche pratique pour que les acteurs du logiciel s’efforcent d’atteindre une proportionnalité entre leur empreinte environnementale et l’évolution de l’usage au fil du temps.
Origin | Files produced by the author(s) |
---|---|
licence |