← Neueste Arbeiten
💻 computer science

Watts This Smell: A Comprehensive Taxonomy of Software Energy Smells

Dieses Paper führt eine umfassende, sprachunabhängige Taxonomie von 12 Software-Energy-Smells und 65 Ursachen ein, die durch die Analyse von über 21.000 Python-Codepaaren empirisch validiert wurde, um zu demonstrieren, dass Energieoptimierung von Leistungsoptimierung verschieden ist, und um eine grundlegende Ressource für Green Software Engineering bereitzustellen.

Ursprüngliche Autoren: Mohammadjavad Mehditabar, Saurabhsingh Rajput, Tushar Sharma

Veröffentlicht 2026-07-09
📖 5 Min. Lesezeit🧠 Tiefgang

Ursprüngliche Autoren: Mohammadjavad Mehditabar, Saurabhsingh Rajput, Tushar Sharma

Originalarbeit lizenziert unter CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Dies ist eine KI-generierte Erklärung des untenstehenden Papers. Sie wurde nicht von den Autoren verfasst oder gebilligt. Für technische Genauigkeit konsultieren Sie das Originalpaper. Vollständigen Haftungsausschluss lesen

Stellen Sie sich vor, Sie sind ein Chefkoch, der ein riesiges, 24-Stunden-Restaurant leitet. Sie haben eine Speisekarte mit tausenden Gerichten (Softwareprogrammen) und bedienen jeden Tag Millionen von Kunden.

Lange Zeit hat Sie nur eines interessiert: Geschwindigkeit. „Wie schnell bekomme ich dieses Gericht aus der Küche?“ fragten Sie. Wenn ein Gericht 10 statt 12 Sekunden dauerte, waren Sie zufrieden.

Doch vor kurzem wurde Ihnen klar: Geschwindigkeit ist nicht die ganze Geschichte. Manchmal kommt ein Gericht zwar schneller auf den Tisch, verbraucht aber eine enorme Menge an Elektrizität, weil der Koch hektisch hin und her rennt, den Ofen ständig an- und ausschaltet oder einen riesigen, ineffizienten Mixer benutzt. Das ist das Problem, das diese Arbeit angeht. Es geht darum, die „Energieriechen“ in Ihrem Küchencode zu finden – jene schlechten Gewohnheiten, die Strom verschwenden, selbst wenn das Essen geschmacklich perfekt ist.

Hier ist eine einfache Aufschlüsselung dessen, was die Forscher getan haben:

1. Das große Problem: Geschwindigkeit vs. Energie

Die Arbeit beginnt mit dem Zerschlagen eines weit verbreiteten Mythos: „Schneller bedeutet immer grüner.“

  • Die Analogie: Stellen Sie sich vor, Sie fahren mit dem Auto zum Supermarkt. Sie können in 5 Minuten dort sein, indem Sie beschleunigen und ständig voll in die Bremsen treten (hohe Geschwindigkeit, hoher Kraftstoffverbrauch). Oder Sie können in 7 Minuten hinfahren, indem Sie sanft dahingleiten (etwas langsamer, aber deutlich weniger Kraftstoff).
  • Die Realität: In der Softwareentwicklung bedeutet das Schreiben von Code, der schnell läuft, nicht automatisch, dass er auch Energie spart. Manchmal bewirkt das Beschleunigen von Code sogar, dass der Prozessor des Computers härter arbeitet und mehr Strom zieht, was insgesamt Energie verschwendet.

2. Die Lösung: Eine „Geruch“-Taxonomie

Die Forscher wollten ein Wörterbuch für diese schlechten Gewohnheiten erstellen. Sie nannten sie „Energy Smells“ (Energieriechen). Genau wie ein schlechter Geruch in einem Haus darauf hindeutet, dass etwas verrottet, signalisiert ein „Code Smell“ einem Entwickler, dass etwas ineffizient ist.

Sie haben nicht einfach nur geraten; sie begaben sich auf eine massive Schatzsuche:

  • Die Suche: Sie lasen 60 verschiedene wissenschaftliche Arbeiten und screenten über 400 andere Dokumente, um jede mögliche Art und Weise zu finden, wie Code Energie verschwendet.
  • Das Sortieren: Sie fanden 320 verschiedene schlechte Gewohnheiten. Diese ordneten sie in einen ordentlichen, zweistufigen Stammbaum ein:
    • Ebene 1 (Die Kategorie): Die allgemeine Art des Geruchs (z. B. „Verschwendete Arbeit“ oder „Schlechte Speichernutzung“).
    • Ebene 2 (Die Ursache): Die spezifische Sache, die Sie falsch gemacht haben (z. B. „Sie haben dieselbe mathematische Aufgabe zweimal berechnet“ oder „Sie haben ein schweres Objekt im Speicher behalten, obwohl Sie es nicht mehr brauchten“).

Das Ergebnis: Sie erstellsten eine Landkarte mit 12 Hauptkategorien und 65 spezifischen Ursachen. Dies ist das erste Mal, dass eine so umfassende, sprachunabhängige (funktioniert für Python, Java, C++, etc.) Karte erstellt wurde.

3. Der Beweis: Testlauf in der realen Welt

Eine Liste ist nutzlos, wenn sie nicht der Realität entspricht. Also bauten die Forscher eine riesige Testküche.

  • Der Datensatz: Sie nahmen 21.000 Code-Paare. In jedem Paar war eine Version die „schlechte“ Art und die andere die „gute“ Art, aber beide erledigten exakt dieselbe Aufgabe.
  • Die Messung: Sie maßen exakt, wie viel Elektrizität, Zeit und Speicher jede Version verbrauchte.
  • Der KI-Detektiv: Sie nutzten eine superintelligente KI (ein LLM), um sich die 3.000 schlimmsten Fälle anzusehen und zu fragen: „Welcher unserer 65 Gerüche verursacht diese Verschwendung?“

Was sie herausfanden:

  • Die KI hatte recht: Die KI ordnete den schlechten Code in 85 % der Fälle erfolgreich ihrer neuen Landkarte zu. Dies bewies, dass ihre Karte real und nützlich ist.
  • Mehrere Gerüche: Die meisten schlechten Codes (71 %) bestanden nicht nur aus einem Geruch, sondern waren ein Cocktail aus mehreren schlechten Gewohnheiten, die gleichzeitig auftraten.
  • Die großen Gewinner: Die größten Energieeinsparungen wurden nicht immer durch den schnellsten Code erzielt. Die Behebung von Speicherproblemen (wie das Behalten von Daten, die man nicht mehr braucht) sparte am meisten Energie.
  • Die Überraschung: Manchmal machte die Behebung eines Problems den Code langsamer, sparte aber mehr Energie. Dies beweist, dass man nicht nur auf die Geschwindigkeit schauen darf; man muss auch die Stromrechnung im Blick haben.

4. Warum das wichtig ist

Betrachten Sie dieses Paper als die Vergabe einer universellen „Check Engine Light“ (Motorkontrollleuchte) für Energie für Entwickler.

  • Vorher reparierten Entwickler vielleicht ein langsames Programm, ohne zu merken, dass sie dabei tatsächlich Elektrizität verschwendeten.
  • Jetzt haben sie ein gemeinsames Vokabular. Wenn ein Entwickler einen „Redundant Computation“ (Redundante Berechnung) Geruch sieht, weiß er genau, was er tun muss, um Strom zu sparen.

Das Fazit

Die Forscher haben nicht nur ein paar schlechte Gewohnheiten gefunden; sie haben eine komplette Enzyklopädie der Energieverschwendung in der Software erstellt. Sie haben bewiesen, dass wir, um den Planeten (und Geld) zu schonen, aufhören müssen, nur darauf zu schauen, wie schnell Software läuft, und stattdessen darauf, wie effizient sie Strom nutzt. Sie haben sogar ihre „Testküchen“-Daten und die Landkarte für alle zur Verfügung gestellt, damit die ganze Welt mit der Produktion grünerer Software beginnen kann.

Ertrinken Sie in Arbeiten in Ihrem Fachgebiet?

Erhalten Sie tägliche Digests der neuesten Arbeiten passend zu Ihren Forschungsbegriffen — mit technischen Zusammenfassungen, in Ihrer Sprache.

Digest testen →