26 juni 2025
0 Reactie(s)

26 juni 2025

Groene softwareontwikkeling vraagt om nieuwe kennisbasis voor duurzaamheid

De druk op IT-afdelingen om bij te dragen aan klimaat­doel­stel­lingen neemt snel toe. Terwijl digitale techno­lo­gieën cruciaal zijn voor verduur­za­ming in sectoren als energie, mobili­teit en industrie, draagt de IT-sector zelf ook stevig bij aan de uitstoot van broei­kas­gassen. Naar schat­ting is de mondiale ICT-sector inmid­dels verant­woor­de­lijk voor 2 tot 7 procent van de totale uitstoot, een aandeel dat kan oplopen tot 14 procent in 2040. De groei van AI, block­chain en metaverse-achtige toepas­singen doet die trend versnellen.

Een recent paper van Accen­ture Labs stelt dat software zelf een belang­rijker rol speelt in dit emissie­pro­bleem dan doorgaans wordt erkend. Volgens de onder­zoe­kers komt dit vooral doordat softwa­re­ont­wik­ke­ling zelden wordt beoor­deeld op energie-effici­ëntie. Ze pleiten daarom voor de opbouw van een gestruc­tu­reerde kennis­basis met ‘sustai­na­bi­lity weaknesses’ — codepa­tronen die tot onnodig energie­ver­bruik leiden — als funda­ment voor tools, oplei­dingen en certi­fi­ce­ringen rond duurzame software.

Wat zijn sustainability weaknesses?

Een sustai­na­bi­lity weakness is volgens de auteurs een stukje code dat signi­fi­cant meer energie verbruikt dan een energie-efficiënt alter­na­tief, zonder functi­o­neel voordeel. Denk aan het onnodig gebruik van objecten in een loop, of aan methodes die herhaal­de­lijk dure opera­ties uitvoeren waar optima­li­sa­ties mogelijk zijn. Zulke patronen leiden vaak tot langere verwer­kings­tijd, hoger geheu­gen­ge­bruik en indirect tot hogere CO₂-uitstoot via de achter­lig­gende infrastructuur.

Het probleem is dat deze ineffi­ci­ën­ties vaak onzicht­baar blijven. Er zijn nauwe­lijks tools die ontwik­ke­laars automa­tisch wijzen op dit soort duurzaam­heids­pro­blemen in hun code. En waar wel tools zijn, ontbreekt het aan een uniforme set defini­ties of standaarden, zoals die er wél bestaan voor bevei­li­ging (bijv. OWASP) of perfor­mance (bijv. ISO-5055).

CWE als uitgangspunt

Accen­ture Labs stelt voor om aan te haken bij bestaande kennis­banken voor softwa­re­kwa­li­teit, met name de Common Weakness Enume­ra­tion (CWE). Deze lijst, met ruim 900 veelvoor­ko­mende program­meer­fouten, is een standaard in de wereld van softwa­re­be­vei­li­ging en kwali­teit. De gedachte: als sommige van deze zwakheden ook aantoon­baar meer energie verbruiken dan een effici­ënter alter­na­tief, dan kunnen ze herge­clas­si­fi­ceerd worden als sustai­na­bi­lity weakness.

Om die hypothese te testen, deden de onder­zoe­kers een eerste experi­men­tele analyse van twee bestaande CWE-zwakheden, uitge­voerd op een Amazon EC2-instance.

Twee voorbeelden: wanneer is iets écht een duurzaamheidsprobleem?

De eerste case betrof CWE-1046: het onnodig aanmaken van immutable strings binnen een loop. In Java leidt dit tot herhaald aanmaken van string-objecten, wat zwaar is voor geheugen en CPU. Vervangen door een String­Builder of String­Buffer scheelde 75% in energie­ver­bruik. Deze zwakte werd dus geclas­si­fi­ceerd als een sustai­na­bi­lity weakness.

De tweede case ging over CWE-595: het verge­lijken van object­re­fe­ren­ties in plaats van de inhoud van objecten (bijv. met == in plaats van .equals()). Verras­send genoeg bleek de geopti­ma­li­seerde versie in deze test juist méér energie te verbruiken, met een stijging van ruim 300%. Dit sugge­reert dat niet elke zwakte die functi­o­neel belang­rijk is (zoals voor betrouw­baar­heid) ook relevant is vanuit duurzaamheidsoogpunt.

De noodzaak van een systematische aanpak

Op basis van deze eerste resul­taten pleiten de auteurs voor een breed gedragen, syste­ma­ti­sche aanpak om sustai­na­bi­lity weaknesses in kaart te brengen. Ze stellen vier stappen voor:

  1. Analy­se­fra­me­work: een standaard manier om codefrag­menten te testen op energie­ver­bruik, onder gelijke omstandigheden.
  2. Label­re­gels: duide­lijke criteria voor wanneer een zwakte als duurzaam­heids­pro­bleem mag worden gelabeld.
  3. Reposi­tory: een openbare databank met sustai­na­bi­lity weaknesses en hun empirisch gemeten energie-impact.
  4. Priori­te­ring: een systeem om de ernst van een zwakte te rangschikken op basis van impact en frequentie.

Deze infra­struc­tuur moet uitein­de­lijk leiden tot beter geauto­ma­ti­seerde tooling (denk aan stati­sche codeana­lyse), beter onder­wijs voor softwa­re­ont­wik­ke­laars, en mogelijk ook nieuwe certi­fi­ce­rings­me­thoden voor duurzame software.

Wat betekent dit voor IT-managers?

Voor IT-managers betekent dit dat duurzaam­heid in softwa­re­ont­wik­ke­ling op korte termijn een nieuw kwali­teits­cri­te­rium wordt. In aanbe­ste­dingen, audits en compli­ance-trajecten zal vaker gevraagd worden naar bewijs van energie-effici­ëntie, niet alleen op het niveau van hardware of infra­struc­tuur, maar ook binnen de softwarelaag.

Daarbij kunnen IT-afdelingen antici­peren door:

  • Inzet van tools zoals Sonar­Qube uit te breiden met duurzaamheidscriteria
  • Ontwik­kel­teams bewust te maken van ineffi­ci­ënte codepatronen
  • Duurzaam­heids­ana­lyses onder­deel te maken van code-reviews en CI/CD-processen
  • Te inves­teren in research rond energy-aware program­ming, met name bij gebruik van AI, block­chain of andere reken­in­ten­sieve toepassingen

Duurzaamheid als kwaliteitsaspect

Het paper van Accen­ture Labs laat zien dat duurzaam­heid in softwa­re­ont­wik­ke­ling meetbaar en struc­tu­reel kan worden aange­pakt. Maar dan is wel een brede, gemeen­schap­pe­lijke inspan­ning nodig van softwa­re­ont­wik­ke­laars, toolbou­wers, standaar­di­satie-organi­sa­ties en IT-managers. Alleen dan ontstaat een robuuste basis waarop duurzame softwa­re­prak­tijken kunnen groeien.

Zoals de auteurs benadrukken: niet elke program­meer­fout is een duurzaam­heids­pro­bleem. Maar áls dat wel het geval is, moet de IT-sector in staat zijn om dat snel en onder­bouwd te herkennen — en op te lossen.

Robbert Hoeffnagel

Robbert Hoeffnagel

Editor en journalist @ DCpedia

0 Reactie(s)

87 weergaven

0 Reactie(s)

0 reacties

Een reactie versturen

Je e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *

Reacties gesloten

De reactiemogelijkheid is verlopen. (14 dagen)

Nieuwsbrief

Pin It on Pinterest

Share This