Künstliche Intelligenz
Aus Softwarefehlern lernen – Teil 8: Rundungs- und Gleitkommafehler
Zahlen erscheinen in der Programmierung oft eindeutig und exakt – zumindest, solange man sich in ganzzahligen Bereichen bewegt. Doch sobald Gleitkommazahlen, Dezimalwerte oder Rundungen ins Spiel kommen, entstehen subtile Probleme. Kleine Ungenauigkeiten, die im ersten Moment harmlos wirken, können sich mit der Zeit summieren und massive Auswirkungen haben.
Weiterlesen nach der Anzeige

Golo Roden ist Gründer und CTO von the native web GmbH. Er beschäftigt sich mit der Konzeption und Entwicklung von Web- und Cloud-Anwendungen sowie -APIs, mit einem Schwerpunkt auf Event-getriebenen und Service-basierten verteilten Architekturen. Sein Leitsatz lautet, dass Softwareentwicklung kein Selbstzweck ist, sondern immer einer zugrundeliegenden Fachlichkeit folgen muss.
Die Teile der Serie „Aus Softwarefehlern lernen“:
Muster 8: Rundung, Trunkierung und kumulative Fehler: Wenn kleine Abweichungen groß werden
Ein lehrreiches Beispiel stammt aus der Finanzwelt, nämlich dem Vancouver Stock Exchange (VSE) in den frühen 80er-Jahren. Der Börsenindex der VSE startete ursprünglich bei 1.000 Punkten. Nach fast zwei Jahren notierte er scheinbar bei rund 524 Punkten – was wie ein dramatischer Markteinbruch aussah. Tatsächlich hatte sich der Markt jedoch kaum verändert. Die Ursache war banal und gleichzeitig folgenschwer: Es handelte sich um Rundungs- und Trunkierungsfehler.
Nach jeder Transaktion wurde der Index nämlich auf drei Dezimalstellen getrimmt – und zwar durch Abschneiden (Trunkierung), nicht durch korrektes Runden. Dieser winzige Verlust setzte sich bei tausenden Updates pro Tag fort. Die kumulativen Fehler führten nach und nach zu einer schleichenden Absenkung des Index, bis er fast halbiert war. Erst nach einer umfassenden Korrektur sprang er schlagartig wieder auf rund 1.098 Punkte hoch.
Dieses Muster findet sich nicht nur im Finanzbereich. Jede Software, die periodisch Berechnungen durchführt, Zwischenergebnisse speichert oder fortlaufend Rundungen vornimmt, kann in die gleiche Falle tappen. Typische Beispiele:
- Zinsberechnungen und Zahlungspläne: Falsch gerundete Centbeträge, die sich über Monate auf Hunderttausende summieren.
- Statistiken und Berichte: Prozentwerte, die bei jeder Aggregation minimal nach unten oder oben verzerrt werden.
- Physik- und Simulationstools: Kleine Ungenauigkeiten in Gleitkommawerten, die über tausende Iterationen davonlaufen.
- Spiele und Echtzeitanimationen: Ein ständiger minimaler Fehler in der Position kann nach Minuten oder Stunden sichtbar werden.
Das Perfide an dieser Fehlerklasse ist, dass die ersten Ergebnisse durchaus plausibel aussehen. Eine Zahl wie 99,999 statt 100,0 fällt nicht notwendigerweise auf – bis sie tausendfach akkumuliert ist. Kumulative Rundungsfehler können dabei auf verschiedene Weise Schaden anrichten:
Weiterlesen nach der Anzeige
- Falsche Geschäftsentscheidungen: Ein Unternehmen könnte fälschlicherweise glauben, dass ein Portfolio Wert verliert oder eine bestimmte Handelsstrategie unprofitabel ist.
- Fehlerhafte Auswertungen und Alarmierungen: Monitoring-Systeme, die Schwellenwerte überwachen, können falsche Warnungen auslösen oder echte Probleme übersehen.
- Rechtliche und steuerliche Probleme: Schon minimale Differenzen in Geldbeträgen können zu Compliance-Verstößen oder Kundenbeschwerden führen.
Tatsächlich ist es sehr einfach, passende Gegenmaßnahmen für stabile Zahlen zu ergreifen – wie so oft muss diese nur auch jemand umsetzen:
- Dezimalarithmetik verwenden: Für Geld und präzise Berechnungen niemals Binär-Gleitkommazahlen (wie
floatoderdouble) nutzen, sondern dezimale Typen wiedecimalin C#,BigDecimalin Java oder Bibliotheken wiedecimal.jsin JavaScript. - Rundungsstrategie explizit festlegen: Ob Banker’s Rounding, mathematisches Runden oder Trunkierung – die Regel muss dokumentiert und einheitlich umgesetzt sein.
- Rekalkulationen from scratch: Wenn die Notwendigkeit besteht, Daten zu aggregieren oder fortzuschreiben, sollte das System regelmäßig aus den Rohdaten neu berechnen, um Drifts zu erkennen und zu korrigieren.
- Property-Based Testing und Langzeitsimulationen: Tests, die viele Iterationen simulieren, decken schleichende Effekte auf, bevor sie produktiv Schaden anrichten.
Viele Entwicklerinnen und Entwickler neigen dazu, Rundungsfragen als Detail zu betrachten. Es wirkt harmlos – bis es reale Folgen hat. Das Beispiel der Vancouver Stock Exchange zeigt, dass ein halber Punkt Verlust pro Transaktion in der Summe Milliarden an Marktverschiebung auslösen kann.
Wer präzise arbeitet, behandelt Zahlen nicht als bloße Technikfrage, sondern als Teil des Domänenmodells. Geldbeträge, Sensorwerte oder wissenschaftliche Messungen haben oft klare Regeln, wie sie zu runden oder darzustellen sind – und genau diesen Regeln muss auch die Software folgen.
(who)
Künstliche Intelligenz
QEMU 10.2 ist schneller unter I/O-Last und dank neuer Richtlinie „sicherer“
Quasi als Weihnachtsgeschenk hat das Entwickler-Team den für viele Plattformen erhältlichen Quick-EMUlator (QEMU) in Version 10.2 veröffentlicht. 188 Entwickler haben dazu über 2300 Neuerungen und Verbesserungen in das OpenSource-Projekt einfließen lassen.
Weiterlesen nach der Anzeige
Nicht mehr alle Security-Bugs sind Security-Bugs
Gleich der erste Hinweis im Changelog zu QEMU 10.2, der als „Klarstellung der Sicherheitsrichtlinie von QEMU“ bezeichnet wird, wirft Fragen auf. Zunächst einmal: In Version 10.2 des QEMU-Projekts wurde die Security Policy explizit klarer definiert, insbesondere was der Begriff „Security Bugs“ im Kontext von QEMU bedeutet. Von nun an gelten Fehler nur noch dann als echte Security-Bugs, wenn sie in klar definierten „Virtualization Use Cases“ auftreten. Dazu zählen Szenarien mit Hardware-Beschleunigern unter WHPX (Windows), KVM (Linux), HVF (macOS) oder NVMM (NetBSD) und vor allem nur bestimmte Maschinen-Typen, die in den „Security Requirements“ explizit aufgelistet werden: aarch64 (virt), i386 und x86_64 (microvm, xenfv, xenpv, xenpvh, pc, q35), s390x (s390-ccw-virtio), loongarch64 (virt), ppc64 (pseries) sowie riscv32 und riscv64 (virt). Das bedeutet, dass sicherheitskritische Fehler in allen anderen Emulations-Szenarien im QEMU-Kontext nicht mehr grundsätzlich als sicherheitstechnische Fehler angesehen werden (müssen).
Damit fallen viele Anwendungsbereiche aus der Sicherheitsrichtlinie heraus, beispielsweise die rein software-basierte „Full System Emulation“ mit dem Tiny Code Generator (TCG), bei dem Gast-CPU-Instruktionen dynamisch in Host-Code übersetzt werden. Das betrifft alle Anwendungsfälle, in denen eine beliebige Gast-Architektur auf einem beliebigem Host ausgeführt wird. Zum Beispiel wenn ein ARM-Gast auf einem x86-Host für Cross-Architektur-Entwicklung, Firmware-Tests, Embedded-Simulation oder Debugging ausgeführt wird. Und auch die „User-Mode Emulation“ (qemu-user), die nur CPU- und Systemaufrufe, aber kein komplettes System emuliert, dürfte damit aus der neuen Sicherheitsrichtlinie herausfallen. Das betrifft unter anderem Cross-Builds und CI sowie vermutlich auch Container-Builds mit „multi-arch-Docker“.
Schwierig wird die Zuordnung, wenn es um hybride QEMU-Modi geht. Das ist der Fall, wenn grundsätzlich Hardware-Beschleunigung eingesetzt wird, dazu aber bestimmte Geräte oder Funktionen per TCG emuliert werden (legacy-devices). Der Sicherheitsstatus ist dabei vom konkreten Setup abhängig. Als QEMU-Anwender muss man dann herausfinden, ob das Szenario als unterstützter Virtualization Use Case gilt – oder nicht. Das dürfte spannend werden.
Viel Neues bei ARM, RISC-V und PowerPC, weniger für LoongArch, s390x und x86
QEMU erweitert die ARM-Emulation um zahlreiche neue CPU-Features, entfernt die veraltete pxa-CPU-Familie und verbessert Debugging sowie Geräteunterstützung (u. a. SME/SME2 in gdbstub, mehrere SMMUv3-Geräte, neue/erweiterte SoC-Komponenten bei aspeed und xlnx). Zusätzlich gibt es ein neues Board-Modell (amd-versal2-virt) und genauere Modellierung von Interrupt- und PCIe-Hardware in bestehenden ARM-Plattformen.
Die RISC-V-Unterstützung in QEMU wurde durch Korrekturen an ISA-Details und Erweiterungen verbessert, darunter an CFI, VLEN-Regeln, PMP-Granularität sowie mehreren Instruktions-, Timer- und IOMMU-Details. Zusätzlich gibt es Aktualisierungen und Bugfixes bei Maschinen- und Firmware-Integration (u. a. OpenSBI v1.7, Device-Tree-Korrekturen, bessere Netzwerk- und UART-Stabilität) sowie Performance- und Speicherverbesserungen.
Weiterlesen nach der Anzeige
Die PowerPC-Unterstützung in QEMU wurde durch neue CPU- und Maschinenunterstützung (PowerNV11, PPE42), Firmware-Updates und FADUMP der pSeries ergänzt, während veraltete Plattformen und „unbrauchbare e200-CPUs“ entfernt sowie zahlreiche Bugfixes, Aufräumarbeiten und Verbesserungen an Fehlerbehandlung und Emulation vorgenommen wurden.
Bei der LoongArch-Emulation unterstützt QEMU 10.2 nun auch MSGINT (IRQ-Chip) und den „HW Page Table Walk“. Verbesserungen beim IRQ-Handling der s390x-Architektur sollen die virtio-pci-Performance erhöhen. Bei x86 benutzt der HPET-Emulator (High Precision Event Timer) nicht mehr den „Big QEMU Lock“ (BQL), sondern ist jetzt feiner und nebenläufiger implementiert.
Neu für HPPA-Nostalgiker: Emulation der HP 715/64-Workstation
Mit QEMU 10.2 lässt sich ein weiterer Klassiker der Computergeschichte virtuell reanimieren: Die HP 9000 715/64 (32 Bit PA-RISC, 64 MHz CPU-Takt, 1 KB on-chip- und 64 KB off-chip-Cache) wurde als Workstation Mitte der 90er Jahre von Hewlett-Packard gegen SGI Indy/Indigo2, Sun SPARCstation, DEC AlphaStation und IBM RS/6000 auf den Markt gebracht. Die unter HP-UX oder NeXTSTEP laufende UNIX-Workstation war für damalige Verhältnisse recht schnell – und mit rund 10.000 US-Dollar entsprechend teuer. Zur Einordnung: Die SPEC92/int-Leistung einer 715/64 entsprach in etwa der des zeitgleich erschienenen Pentium/90 MHz. Ebenfalls neu ist die Emulation des NCR 53c710 SCSI-Controllers (verwendet in der 715/64) sowie ein dazu passendes aktualisiertes SeaBIOS-hppa-BIOS.
Modernisierung des kryptografischen Subsystems
Das Krypto-Subsystem von QEMU wurde mit Version 10.2 modernisiert, indem die Mindestversionen wichtiger Kryptobibliotheken angehoben und neue Funktionen wie das Laden mehrerer X.509-Zertifikats-Identitäten zur Unterstützung post-quantenkryptografischer Übergänge implementiert wurden. Zudem wurden die TLS-Sicherheit und die Zertifikatsprüfung verbessert, veraltete Mechanismen wie externe Diffie-Hellman-Parameter als „deprecated“ gekennzeichnet und mehrere Stabilitäts- und Sicherheitsprobleme behoben. Das Plan-9-Dateisystem 9pfs ermöglicht es QEMU, Host-Verzeichnisse wie Shared Folders direkt im Gast einzubinden. Diese bislang weitgehend auf Linux-Hosts beschränkte Funktion steht nun auch auf FreeBSD-Hosts zur Verfügung.
Mehr Geschwindigkeit unter hoher I/O-Last durch io_uring(7)
Die Entwickler haben bei QEMU 10.2 den Main-Loop auf io_uring(7) umgestellt, eine moderne Schnittstelle für asynchrone I/O-Operationen unter Linux. Dadurch sollen I/O-Vorgänge effizienter verarbeitet werden und so vor allem unter hoher I/O-Last zu spürbaren Performance-Verbesserungen führen. Wer seinen Workflow auf QEMU 10.2 aktualisiert sollte unbedingt auch einen Blick auf die Liste der Funktionen werfen, die in absehbarer Zeit entfernt werden (depreciated).
Ab sofort verfügbar
Während der größte Teil des QEMU-Projekts GPL2-lizenziert ist, stehen Teile wie der Tiny Code Generator (TCG) unter der BSD- oder MIT-Lizenz. Als freies OpenSource-Projekt ist QEMU 10.2 kostenlos verfügbar und kann ab sofort von der Projektseite heruntergeladen werden. Sämtliche Änderungen und mögliche Inkompatibilitäten des QEMU 10.2-Release sind im Changelog dokumentiert.
(swi)
Künstliche Intelligenz
Gefährlicher Elektroschrott: Umwelthilfe fordert Pfand auf Hochenergieakkus
Die Deutsche Umwelthilfe (DUH) sorgt sich um die Sicherheit von gefährlichen Energiespeichern. Vor allem die von Hochenergieakkus ausgehenden Brandgefahren stellen Entsorger und Kommunen laut der zivilgesellschaftlichen Organisation vor gewaltige Herausforderungen. Zwar sehe die ab Juli 2026 geltende jüngste Reform des Elektrogerätegesetzes vor, dass Altgeräte auf Wertstoffhöfen nur noch unter Aufsicht von Fachpersonal nach dem sogenannten Thekenmodell angenommen werden dürften. Doch für den Handel fehle eine vergleichbare Sicherheitslösung bisher komplett.
Weiterlesen nach der Anzeige
Um diese Lücke zu schließen und gleichzeitig die Rücklaufquoten zu steigern, fordert die DUH die Einführung eines flächendeckenden Pfandsystems für Hochenergieakkus. Nur ein finanzieller Anreiz könne sicherstellen, dass die brandgefährlichen Lithium-Ionen-Energieträger kontrolliert zurückgegeben werden, heißt es. Sonst lagerten diese in Kellern oder verursachten potenziell gefährliche Brände in Müllfahrzeugen und Sortieranlagen.
Hochenergieakkus zeichnen sich durch eine maximale Energiedichte aus, um bei geringem Gewicht und Volumen eine möglichst lange Betriebsdauer für Anwendungen wie Elektroautos oder Smartphones zu ermöglichen. Im Gegensatz zu Hochleistungsakkus liegt ihr Fokus weniger auf schnellen Entladeströmen, als vielmehr auf der effizienten Speicherung großer Energiemengen über lange Zeiträume. Zur Gruppe der Hochenergieakkus zählen etwa auch Feststoffbatterien und Lithium-Schwefel-Akkus.
Handelsbedarf auch bei E-Zigaretten
Im Bereich der Einweg-E-Zigaretten und Tabakerhitzer sieht die Organisation ebenfalls dringenden Handlungsbedarf. Ohne einen klaren finanziellen Anreiz wie ein Pfand werde hier die geplante Rücknahmepflicht im Handel nach Einschätzung der Experten weitestgehend ins Leere laufen, da die Produkte weiterhin über den Hausmüll oder in der Umwelt entsorgt würden. Die DUH begrüßt die Ankündigung der Bundesregierung für ein generelles Verbot von Wegwerf-Vapes grundsätzlich. Zugleich mahnt sie aber eine sofortige Umsetzung dieses Vorhabens über die Tabakerzeugnisverordnung an, um der Ressourcenverschwendung und den Entsorgungsrisiken zeitnah ein Ende zu setzen.
Das Pochen auf schärfere Maßnahmen begründen die Umweltaktivisten mit einer ernüchternden Bilanz der bisherigen Sammelbemühungen in Deutschland. 2023 habe auf Basis der aktuellsten verfügbaren offiziellen Zahlen die Sammelquote für Elektroaltgeräte bei nur 29 Prozent gelegen. Damit sei das gesetzliche Ziel von 65 Prozent schon zum sechsten Mal in Folge drastisch verfehlt worden.
Hersteller und Händler in die Pflicht nehmen
Weiterlesen nach der Anzeige
DUH-Bundesgeschäftsführerin Barbara Metz macht dafür vor allem die mangelnde Haftung von Herstellern und Händlern verantwortlich. Da das Verfehlen der Quoten bislang keine rechtlichen Konsequenzen nach sich ziehe, fehle der Industrie der Antrieb, die Rückgabe für Verbraucher wirklich kundenfreundlich und attraktiv zu gestalten. Die Umwelthilfe ruft daher dazu auf, Hersteller gesetzlich zum Einhalten der Vorgaben zu verpflichten. Nur dies baue den nötigen Druck für eine offensive Informationspolitik und bessere Rücknahmesysteme auf.
Die fürs kommende Jahr anstehenden gesetzlichen Anpassungen, zu denen ein einheitliches Sammelstellenlogo und Hinweispflichten zur Getrenntsammlung direkt am Produkt gehören, wertet die DUH als wichtige Schritte. Diese reichten aber bei weitem nicht aus. Ein großes Hindernis bleibe die Erreichbarkeit der Rückgabestellen. Aktuelle Ausnahmeregelungen, die sich an der Verkaufsfläche der Läden oder der Größe der Geräte orientieren, führten dazu, dass viele Händler gar keine Altgeräte annehmen müssten.
Die DUH plädiert deshalb für eine Rücknahmepflicht für alle Elektrohändler, unabhängig von der Ladengröße. Zudem sollte die Kantenlänge für Geräte, die ohne Neukauf zurückgegeben werden können, von derzeit 25 auf 50 Zentimeter angehoben werden. Allein bei einer solchen Kombination aus finanziellen Anreizen, strengen Quoten und einem barrierefreien Zugang zur Entsorgung könne die Kreislaufwirtschaft bei E-Schrott endlich funktionieren.
(jpw)
Künstliche Intelligenz
100 Millionen in Italien: Strafen für Apples App-Tracking-Transparenz sind teuer
Apples sogenannte App-Tracking-Transparenz, kurz ATT, sorgt in einem weiteren Land für den Konzern für Ärger: Die italienische Marktaufsicht AGCM (Autorità garante della concorrenza e del mercato) möchte laut Pressemitteilung aus der vergangenen Woche insgesamt 98,6 Millionen Euro sehen, weil die Funktion, mit der Nutzer App-übergreifende Werbeverfolgung auf dem iPhone unterbinden können, „den Wettbewerb behindert“. Damit folgen die Italiener ähnlichen Einschätzungen aus anderen europäischen Regionen, darunter darunter Deutschland, Frankreich, Polen und Großbritannien.
Weiterlesen nach der Anzeige
Behörde: Entwickler müssen doppelt nach Daten fragen – und das schadet ihnen
„Die Feststellungen der Behörde bestätigten aus wettbewerbsrechtlicher Sicht den restriktiven Charakter der App‑Tracking‑Transparency‑Richtlinie (…) gegenüber Drittentwicklern von Apps, die über den App Store vertrieben werden“, so der Regulierer. Drittanbieter‑App‑Entwickler müssten über den ATT‑Dialog eine gesonderte Einwilligung für die Erhebung und Verknüpfung von Daten zu Werbezwecken einholen. Die Strafe erklärt die AGCM mit einer interessanten Begründung: Dieser Dialog erfülle nicht die Anforderungen der Datenschutzgesetzgebung, sodass Entwickler gezwungen seien, für denselben Zweck eine zweite – eigene – Einwilligungsabfrage vorzunehmen.
„Die doppelte Einwilligungsabfrage, die sich zwangsläufig aus der ATT‑Richtlinie in ihrer derzeitigen Umsetzung ergibt, schränkt die Erhebung, Verknüpfung und Nutzung solcher Daten ein“, schreibt die Behörde. Der Ansatz der AGCM unterscheidet sich von anderen Einschätzungen gegenüber ATT – wie etwa die des Bundeskartellamtes. Dort hieß es, Hauptgrund der Bedenken sei, dass die „engen Anforderungen“ des ATT-Systems nur für andere App-Anbieter, aber nicht für Apple selbst gelten. Allerdings hatte schon Frankreich in seinem Vorgehen gegen das Apple-System ähnlich argumentiert wie die AGCM. Entwicklern falle es übermäßig schwer, mit ATT die Datenschutzgrundverordnung (DSGVO) einzuhalten, wenn sie doch tracken wollten.
Ende von ATT in Deutschland und anderswo naht
Apple dürfte gegen die Kartellstrafe der AGCM vorgehen. Der Konzern teilte in einer Stellungnahme mit, dass er der Einschätzung deutlich widerspricht. Wie schon in Frankreich gäbe es zudem ein Schlupfloch: Das ATT-Pop-up könnte „konformer“ zur DSGVO gemacht werden. Wie, ist allerdings unklar, zumal sich die Einschätzungen regelmäßig auf EU-Ebene zu wandeln scheinen.
Grundsätzlich ist die Funktion sehr beliebt – viele Nutzer wollen nicht, dass Daten von einer App zur anderen übergeben werden. Anbieter bedienen sich mittlerweile Tricks, Apples Einschränkungen zu umgehen, gegen die der iPhone-Hersteller vorgeht. Im Oktober hatte Apple öffentlich davor gewarnt, dass man die Anti-Tracking-Funktion in Deutschland womöglich abschalten müsste – sowie in anderen EU-Ländern.
Weiterlesen nach der Anzeige
(bsc)
-
UX/UI & Webdesignvor 2 MonatenIllustrierte Reise nach New York City › PAGE online
-
Künstliche Intelligenzvor 3 MonatenAus Softwarefehlern lernen – Teil 3: Eine Marssonde gerät außer Kontrolle
-
Künstliche Intelligenzvor 3 Monaten
Top 10: Die beste kabellose Überwachungskamera im Test
-
UX/UI & Webdesignvor 2 MonatenSK Rapid Wien erneuert visuelle Identität
-
Künstliche Intelligenzvor 2 MonatenNeue PC-Spiele im November 2025: „Anno 117: Pax Romana“
-
Entwicklung & Codevor 1 MonatKommandozeile adé: Praktische, grafische Git-Verwaltung für den Mac
-
Künstliche Intelligenzvor 3 MonatenDonnerstag: Deutsches Flugtaxi-Start-up am Ende, KI-Rechenzentren mit ARM-Chips
-
UX/UI & Webdesignvor 2 MonatenArndt Benedikt rebranded GreatVita › PAGE online
