← Nieuwste papers
💻 informatica

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

Deze systematische literatuurstudie van 137 studies synthetiseert determinanten op codeniveau en metrieken voor softwareduurzaamheid, onthult een aanzienlijke onderzoeksachterstand in koolstofmeting vergeleken met energie, en stelt een gefundeerd besluitvormingskader en bruikbare richtlijnen voor om ontwikkelaars te helpen bij het bouwen van groenere software.

Oorspronkelijke auteurs: Zoya Mahboob, Atif Jilani, Qurrat Ul Ain

Gepubliceerd 2026-10-22
📖 6 min leestijd🧠 Diepgaand

Oorspronkelijke auteurs: Zoya Mahboob, Atif Jilani, Qurrat Ul Ain

Oorspronkelijk artikel gelicentieerd onder CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). ✨ Dit is een AI-gegenereerde uitleg van het onderstaande artikel. Het is niet geschreven of goedgekeurd door de auteurs. Raadpleeg het oorspronkelijke artikel voor technische nauwkeurigheid. Lees de volledige disclaimer

Elke keer dat een softwareprogramma wordt uitgevoerd, van de app op een smartphone tot de enorme systemen die wereldwijde clouddiensten beheren, trekt het stroom uit het elektriciteitsnet. Dit verbruik is niet alleen een kwestie van kosten; het is een directe bijdrager aan de koolstofemissies die de planeet opwarmen. Hoewel de datacenters waarin deze systemen worden ondergebracht bekend staan om hun energiebehoeften, speelt de software zelf — de regels code geschreven door ontwikkelaars — een verborgen maar beslissende rol in hoeveel elektriciteit er wordt gebruikt. Net zoals het ontwerp van een automotor de brandstofefficiëntie bepaalt, bepalen de specifieke keuzes die bij het schrijven van code worden gemaakt hoeveel energie een programma nodig heeft om te functioneren. Sommige keuzes zijn efficiënt, terwijl andere energie verspillen zonder dat de gebruiker dit ooit merkt.

Jarenlang hebben onderzoekers bestudeerd hoe software groener kan worden gemaakt, maar het bewijs was verspreid over duizenden artikelen, die vaak verschillende methoden gebruikten om dezelfde zaken te meten. Een nieuwe systematische review, gepubliceerd door onderzoekers aan de National University of Computer and Emerging Sciences in Pakistan, brengt deze gefragmenteerde kennis samen. Door 137 peer-reviewed studies te analyseren die werden gepubliceerd tussen eind 2015 en begin 2026, creëerde het team een heldere kaart van precies welke coderingsbeslissingen het belangrijkst zijn voor duurzaamheid. Ze ontdekten dat, hoewel het vakgebied snel is gegroeid, de focus grotendeels heeft gelegen op het meten van energieverbruik, waardoor er een aanzienlijke kloof is ontstaan in het meten van de resulterende koolstofemissies, zelfs nu regelgeving begint te eisen dat er verantwoording wordt afgelegd over koolstof.

De onderzoekers begonnen door de enorme hoeveelheid bestaande literatuur in een gestructureerd systeem te sorteren. Ze identificeerden twee hoofdcategorieën van informatie: de specifieke keuzes die ontwikkelaars maken, bekend als determinanten, en de manieren waarop die keuzes worden gemeten, bekend als impactmetrieken. De determinanten variëren van breed, zoals de keuze van een programmeertaal of het algoritme dat wordt gebruikt om een probleem op te lossen, tot granulair, zoals hoe gegevens in het geheugen worden opgeslagen of hoe lussen (loops) worden geschreven. De metrieken zijn de instrumenten die worden gebruikt om het effect van deze keuzes te zien, waarbij primair wordt gemeten hoeveel energie wordt verbruikt of hoe lang een taak duurt. Het team organiseerde deze bevindingen om aan te tonen wanneer deze beslissingen in het softwareontwikkelingsproces worden genomen en wanneer hun effecten daadwerkelijk worden waargenomen.

Een van de meest opvallende bevindingen betreft de enorme schaal van impact die beslissingen op hoog niveau kunnen hebben. De review bevestigt dat de keuze van de programmeertaal een dominante factor is. Studies tonen consistent aan dat gecompileerde talen, die direct in machinecode worden vertaald, tot twintig keer energie-efficiënter kunnen zijn dan geïnterpreteerde talen, die regel voor regel worden verwerkt terwijl ze draaien. Op dezelfde manier kan de keuze van een algoritme — het wiskundige recept dat een programma volgt — enorme verschillen creëren in het energieverbruik. Een efficiënter algoritme kan het energieverbruik met ordes van grootte verminderen, een verschil dat zo groot is dat geen enkele kleine aanpassing in de code dat ooit kan evenaren. Ondanks dit merkt de review op dat deze beslissingen met een hoge impact niet de meest frequent bestudeerde onderwerpen zijn in de literatuur; onderzoekers hebben meer tijd besteed aan het onderzoeken van kleinere, minder impactvolle details zoals specifieke coderingsstijlen of kleine optimalisaties.

De studie bracht ook in kaart wanneer deze beslissingen plaatsvinden. De overgrote meerderheid van het onderzoek richt zich op de implementatiefase, wanneer code voor het eerst wordt geschreven, en de runtime-fase, wanneer de software daadwerkelijk wordt uitgevoerd. Er werd echter een kritieke kloof gevonden in de testfase. Zeer weinig studies onderzoeken hoe het proces van het testen van software, of de testcode zelf, bijdraagt aan energieverspilling. Dit is een aanzienlijke nalatigheid, aangezien de moderne softwareontwikkeling zwaar leunt op geautomatiseerde testsystemen die duizenden keren per dag draaien, en potentieel meer energie verbruiken dan het uiteindelijke product zelf. De onderzoekers benadrukken dat dit gebied grotendeels onontgonnen blijft, wat wijst op een grote kans voor toekomstige verbetering.

Misschien wel de meest urgente bevinding heeft betrekking op wat er wordt gemeten. De review vond dat 131 van de 137 studies het energieverbruik maten, vaak met behulp van gespecialiseerde hardwaretellers om het elektriciteitsgebruik tot op de joule nauwkeurig te volgen. In contrast hiermee mat slechts drie studies direct de koolstofemissies. Deze onbalans is problematisch omdat wereldwijde regelgeving steeds vaker verschuift van het bijhouden van energie naar het bijhouden van koolstof. De onderzoekers wijzen erop dat deze kloof gemakkelijk te overbruggen is. Aangezien koolstofemissies worden berekend door het energieverbruik te vermenigvuldigen met de koolstofintensiteit van het lokale elektriciteitsnet, kan de overvloed aan gegevens over energie worden omgezet naar koolstofgegevens als onderzoekers simpelweg de context van de energiebron zouden registreren. Momenteel heeft het veld de energienummers, maar mist het de koolstofcontext die nodig is voor moderne milieurapportage.

Om ontwikkelaars te helpen deze bevindingen toe te passen, heeft het team een praktisch beslissingskader ontwikkeld. Het fungeert als een gids voor het oplossen van duurzaamheidsproblemen. Als een softwaredienst te veel kost om te draaien, suggereert het kader om eerst naar de programmeertaal en het algoritme te kijken voordat men zich zorgen maakt over kleine aanpassingen in de code. Als een mobiele app een batterij leegtrekt, wijst het naar specifieke coderingspatronen die bekend staan om het verspillen van vermogen. De richtlijnen benadrukken dat ontwikkelaars energie direct moeten meten in plaats van te gokken op basis van hoe snel een programma draait, aangezien een sneller programma niet altijd een efficiënter programma is. Ze raden ook aan om expliciete energiebudgetten voor softwarefuncties in te stellen, waarbij energieverspilling met dezelfde ernst wordt behandeld als een softwarebug.

De review concludeert dat het vakgebied van duurzame software engineering volwassen wordt, met een groeiende internationale gemeenschap en gevestigde methoden. Het roept echter op tot een verschuiving in de focus. Onderzoekers worden aangemoedigd om de testfase dieper te bestuderen, bevindingen over beslissingen met een hoge impact zoals taalvoorkeur te repliceren, en te beginnen met het rapporteren van koolstofemissies naast energiegegevens. Voor professionals in de sector is de boodschap duidelijk: de meest effectieve manier om de ecologische voetafdruk van software te verkleinen, is niet door kleine aanpassingen, maar door fundamentele keuzes te maken aan het begin van het ontwikkelingsproces. Door efficiënte talen, algoritmen en datastructuren te kiezen, en door de resultaten nauwkeurig te meten, kunnen ontwikkelaars de energie- en koolstofkosten van de digitale wereld aanzienlijk verminderen.

Verdrinkt u in papers in uw vakgebied?

Ontvang dagelijkse digests van de nieuwste papers die bij uw onderzoekswoorden passen — met technische samenvattingen, in uw taal.

Probeer Digest →