Künstliche Intelligenz
Aus Softwarefehlern lernen – Teil 1: Einheiten. Wenn Zahlen irreführend werden
Wenn Softwarefehler auftreten, passiert das meistens unbemerkt und unauffällig, gelegentlich aber auch höchst spektakulär und kostspielig. Von fehlgeschlagenen Raumfahrtmissionen über Börsencrashs bis hin zu fehlerhaften medizinischen Geräten gibt es eine lange Liste berühmter Softwarepannen. Wer sie studiert, stellt schnell fest: Die meisten dieser Fehler wirken auf den ersten Blick wie einmalige Katastrophen, sind in Wahrheit aber Wiederholungen bekannter Muster.
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“:
Diese Artikelserie stellt neun dieser typischen Fehlerklassen vor, die in der Praxis immer wieder auftauchen – unabhängig von Branche oder Technologie. In jeder Kategorie wird die Serie ein konkretes Beispiel vorstellen, dessen Ursachen analysieren und daraus ableiten, was Softwareentwicklerinnen und Softwareentwickler langfristig lernen können.
Der Bug in der Rechenanlage
Eine der beliebtesten Anekdoten der Softwaregeschichte ist die von Grace Hopper und der berühmten Motte. 1947 arbeitete Grace Hopper an der Harvard-Mark-II-Rechenanlage, in der sich eine echte Motte in einem Relais verfangen hatte. Nachdem ein Teammitglied sie gefunden und entfernt hatte, klebte dieser sie mit dem Kommentar „first actual case of bug being found“ ins Protokollbuch. Dieses Protokollbuch wird heute in einem Smithsonian Museum in Washington ausgestellt.
Diese Episode ist zu einer Legende der IT-Kultur geworden – das Wort „Bug“ wurde damals aber nicht erfunden. Schon Thomas Edison sprach 1878 in Briefen über „Bugs“ in Maschinen, also kleine, schwer zu findende Fehler. Trotzdem prägte Grace Hopper die Vorstellung, dass Softwarefehler etwas sind, das man wie ein Insekt finden und entfernen kann.
Doch die Realität ist oft subtiler: Bugs sind meist Symptome systematischer Schwächen. Hinter fast jeder spektakulären Panne steckt ein Muster, das sich in abgewandelter Form immer und immer wieder findet. Deshalb lohnt sich ein Blick nicht nur auf die einzelnen Vorfälle, sondern vor allem auf die Fehlerkategorien, die sie repräsentieren.
Teil 1: Einheiten und Maße: Wenn Zahlen irreführend werden
Am Beginn dieser Serie steht ein Thema, mit dem Entwicklerinnen und Entwickler jeden Tag wie selbstverständlich hantieren – und das vielleicht gerade deshalb so gefährlich ist. Es wird allzu leicht unterschätzt: Die Rede ist vom Umgang mit Zahlen.
Kaum ein Beispiel für Softwarefehler wird so häufig genannt wie der Verlust der NASA-Sonde Mars Climate Orbiter im Jahr 1999. Ziel der Mission war es, die Marsatmosphäre zu untersuchen. Nach einer monatelangen Reise näherte sich die Sonde dem Planeten – und verglühte. Die Ursache war fast grotesk simpel: Die Entwickler hatten in der Software metrische und imperiale Maßeinheiten verwechselt. Das Ergebnis war ein systematischer Navigationsfehler, der die Sonde auf eine zu niedrige Umlaufbahn führte.
Dieser Vorfall zeigt, dass Zahlen ohne Kontext gefährlich sind. Eine Zahl wie 350 kann das Maß einer Geschwindigkeit, einer Kraft oder einer Energie bedeuten – oder eben etwas ganz anderes. Solange eine Software Daten als rohe Zahlen behandelt, besteht die Gefahr, dass jemand sie falsch missinterpretiert. In großen Projekten mit mehreren Teams potenziert sich dieses Risiko, wenn jede Seite implizite Annahmen trifft, die niemand irgendwo explizit dokumentiert oder technisch abgesichert hat.
Aus Sicht der Qualitätssicherung sind solche Fehler besonders tückisch, denn Unit Tests können ebenso wie Integrationstests durchaus korrekt durchlaufen – solange die falschen Einheiten konsistent falsch sind. Das Problem zeigt sich oft erst in der Realität, wenn Sensoren, Aktoren oder externe Systeme ins Spiel kommen, deren Daten den zuvor getroffenen Annahmen nicht entsprechen. Die Lehre aus diesem Vorfall ist klar: Zahlen brauchen Bedeutung. Moderne Programmiersprachen und Frameworks bieten verschiedene Möglichkeiten, diese Bedeutung explizit zu machen:
- Value Objects oder Wrapper-Typen: Statt
double
oderfloat
kommt ein eigener Typ wieForceInNewton
oderVelocityInMetersPerSecond
zum Einsatz. Damit wird die Einheit Teil der Typinformation. Manche Programmiersprachen, beispielsweise F#, bieten Unterstützung für Einheiten sogar bereits als Teil der Sprache an. - Bibliotheken für physikalische Einheiten: Sie ermöglichen automatische Umrechnungen und erzwingen korrekte Kombinationen.
- Schnittstellenverträge und End-to-End-Tests: API-Definitionen sollten Einheiten benennen. Tests mit echten Daten decken Diskrepanzen auf, bevor sie zu Katastrophen führen.
Neben diesen technischen Maßnahmen spielt außerdem auch die Teamkultur eine große Rolle. Projekte, die früh auf eine gemeinsame Sprache für ihre Daten achten – sei es durch Domain-Driven Design (DDD) oder einfach durch konsequente Dokumentation –, vermeiden solche Fehler deutlich häufiger.
Der Verlust des Mars Climate Orbiter hat die NASA hart getroffen. Doch er hat auch dazu geführt, dass Entwicklerinnen und Entwickler zumindest in manchen Projekten stärker auf Einheitenfehler achten und diese Fehlerklasse seither (hoffentlich) ernster nehmen. Für Softwareteams im Alltag gilt dasselbe: Wer Zahlen ohne Kontext weitergibt, lädt zum nächsten Bug geradezu ein.
Im nächsten Teil lesen Sie: Überlauf, Arithmetik und Präzision: Wenn Zahlen kippen
(who)
Künstliche Intelligenz
Anker Soundcore A30 gestestet: die ersten Sleepbuds mit ANC
Der chinesische Hersteller Anker vertreibt unter seiner Marke Soundcore Hightech-Einschlafhilfen in Form von ultrakompakten Earbuds. Technisch hat er auf diesem Gebiet Bose, dem Erfinder solcher Sleepbuds, längst den Rang abgelaufen. Mit den Soundcore Sleep A30 bringt Anker nun die ersten Buds heraus, die sich nicht darauf beschränken, Außengeräusche passiv zu dämpfen, sondern trotz des Miniformats mit Active Noise Cancelling (ANC) aufwarten.
Die drei Gramm leichten Ohrhörer schmiegen sich mit luftgefüllten Kissen und Silikon-Dichtungen ins Außenohr, ohne vorzustehen. Selbst, wenn man mehrere Stunden auf der Seite schläft, kommt kein Druckgefühl auf. Anker legt ein Set von Earwings sowie Silikon- und Memory-Foam-Dichtungen mehrerer Größen (XS bis L) bei. Wir empfehlen, sich für die Anpassung Zeit zu nehmen, bis der optimale Kompromiss zwischen Komfort und Lärmschutz gefunden ist.
Die Unterseite der Ladeschale ist gummiert und verrutscht auch auf glatten Nachttischen nicht, wenn man im Dunkeln danach greift. Der Schiebedeckel lässt sich lautlos öffnen. LEDs beleuchten nachts die Ladebuchten. Einziges Manko: Das Case lädt nicht drahtlos, sondern nur mit USB-C. Die Buds selbst sind nach IPX4 geschützt und sollen zumindest resistent gegen Schweiß sein.
Das war die Leseprobe unseres heise-Plus-Artikels „Anker Soundcore A30 gestestet: die ersten Sleepbuds mit ANC“.
Mit einem heise-Plus-Abo können Sie den ganzen Artikel lesen.
Künstliche Intelligenz
Valve erweitert Steam Link VR auf weitere VR-Brillen
Mit Steam Link VR lassen sich sowohl VR-Titel als auch klassische PC-Spiele direkt via Steam in unterstützte Standalone-VR-Brillen streamen. Die kostenlose App erschien Ende 2023 für alle gängigen Quest-Geräte. Knapp zwei Jahre später ist sie nun auch für Pico- und HTC-Headsets verfügbar. Unterstützt werden Pico Neo 3, Pico 4, Pico 4 Ultra sowie HTC Vive Focus. Unterstützung für HTC Vive XR Elite folgt noch in diesem Jahr.
Valve stellt in der Ankündigung auch eine Schnittstelle für Steam Link in Aussicht: Mit der „Steam Link APK“ können andere VR-Brillenhersteller künftig die Kompatibilität ihrer Headsets mit Steam Link prüfen. Auch Nutzer sollen damit die Möglichkeit erhalten, Steam Link auf bislang nicht unterstützten Geräten auszuprobieren.
Auf Meta Quest gibt es neben Steam Link weitere Möglichkeiten, PC-Inhalte in das Headset zu streamen, darunter das kostenpflichtige Virtual Desktop und Metas eigene Gratis-Lösung Meta Quest Link. Mehr Informationen zu PC-VR-Streaming finden Sie in unserem umfangreichen Ratgeber.
Besser spät als nie: Meta vereinheitlicht PC-VR-Erfahrung
Eine gute Nachricht gibt es auch für Nutzer, die PC-VR auf Meta Quest verwenden: In der neuesten Testversion des kommenden OS-Updates erscheinen Apps aus Metas PC-VR-Store nun direkt in der App-Bibliothek der Quest, sofern das Headset mit dem PC verbunden wurde und beide Geräte dasselbe Netzwerk nutzen. Die PC-VR-Apps sind also solche hervorgehoben. Die noch aus Oculus-Rift-Zeiten stammende PC-VR-Benutzeroberfläche entfällt. Dadurch wird die Nutzererfahrung vereinheitlicht und verbessert.
Mit dieser Neuerung kommt Meta reichlich spät: Eine „vereinheitlichte Systemerfahrung“ über autarke Nutzung und PC-VR hinweg hätte laut dem Unternehmen bereits 2021 eingeführt werden sollen. Zudem bleibt ein Wermutstropfen: Aus der App-Bibliothek kann man nur auf VR-Spiele aus Metas PC-VR-Store und nicht dem wesentlich umfangreicheren Steam Store zugreifen, der exklusive Titel wie Valves „Half-Life: Alyx“ bietet.
Apropos Valve: Das Unternehmen könnte Gerüchten zufolge schon bald ein neues VR-Headset ankündigen, das den Namen „Steam Frame“ trägt. Wir haben alle aktuellen Informationen zu Steam Frame zusammengetragen.
(tobe)
Künstliche Intelligenz
Streit mit EU: Apple macht Alternativvorschläge zum DMA
Apple hat im Rahmen seiner Erwiderung auf das aktuelle DMA-Verfahren der EU-Kommission mehrere Vorschläge unterbreitet, wie das Digitalgesetz, von dem sich der Konzern schikaniert fühlt, verbessert werden könnte. Sollte der Digital Markets Act nicht zurückgezogen werden, um ihn gegen ein „legislatives Instrument [auszutauschen], das für seine Zwecke passt“, sollten mindestens tiefe Änderungen erfolgen, schreibt der Konzern.
Grundrechte auch für Gatekeeper
So fordert Apple die Schaffung einer unabhängigen europäischen Behörde, die außerhalb der Europäischen Kommission agiert, damit sie „geschützt vor politischer Einmischung“ in der Lage sein, „eine vorhersehbare, gerechte, ausgewogene und dem Gesetzestext entsprechende Anwendung des DMA zu gewährleisten, die die Grundrechte achtet“. Die neue DMA-Behörde solle die relevanten EU-Behörden aus den Bereichen Datenschutz und Cybersicherheit einbeziehen, wenn es um Anordnungen gehe, die die „fundamentalen Rechte auf Privatsphäre und Onlinesicherheit der Nutzer“ beeinträchtigen.
Schließlich stört sich Apple am Begriff der sogenannten „effective compliance“ und fordert eine Klarstellung. Das Unternehmen sieht sich laut eigenen Angaben mit ständig wechselnden Aussagen und Ansprüchen der EU-Kommission konfrontiert, die nur schwer umzusetzen sind. Zudem erhofft sich Apple eine Überprüfung der „übergreifende Verhältnismäßigkeit“. Diese solle die Europäische Kommission ausdrücklich dazu verpflichten, die Interessen der Endnutzer zu berücksichtigen, wenn es um Sicherheit, Datenschutz, Integrität und Innovation gehe. „Außerdem sollte sie die Bedeutung der Grundrechte von Gatekeepern anerkennen, wie beispielsweise Rechte an geistigem Eigentum und das Recht, ihr Geschäft zu betreiben, unter anderem durch Produktdifferenzierung.“
EU weist Apples DMA-Forderungen zurück
Die EU-Kommission hat unterdessen Apples Forderung, den DMA zu stoppen oder zumindest zu ändern, offiziell abgelehnt. Sprecher Thomas Regnier, für digitale Angelegenheiten zuständig, sagte laut einem Bericht von France24, Apple habe schließlich „jeden kleinen Teil des DMA seit Beginn“ in Frage gestellt.
Man sei daher „nicht überrascht“ von den Forderungen. Regnier sagte, es sei einzig Sache Brüssels, „zu entscheiden, wie wir den DMA durchsetzen wollen und wer den DMA durchsetzt“. Zuletzt hatte Apple eine Strafe in Höhe von 500 Millionen Euro für DMA-Verstöße aufgebrummt bekommen, gegen die das Unternehmen vorgeht.
(bsc)
-
UX/UI & Webdesignvor 1 Monat
Der ultimative Guide für eine unvergessliche Customer Experience
-
UX/UI & Webdesignvor 4 Wochen
Adobe Firefly Boards › PAGE online
-
Social Mediavor 1 Monat
Relatable, relevant, viral? Wer heute auf Social Media zum Vorbild wird – und warum das für Marken (k)eine gute Nachricht ist
-
Entwicklung & Codevor 1 Monat
Posit stellt Positron vor: Neue IDE für Data Science mit Python und R
-
Entwicklung & Codevor 3 Wochen
EventSourcingDB 1.1 bietet flexiblere Konsistenzsteuerung und signierte Events
-
UX/UI & Webdesignvor 1 Woche
Fake It Untlil You Make It? Trifft diese Kampagne den Nerv der Zeit? › PAGE online
-
Digital Business & Startupsvor 3 Monaten
10.000 Euro Tickets? Kann man machen – aber nur mit diesem Trick
-
Digital Business & Startupsvor 3 Monaten
80 % günstiger dank KI – Startup vereinfacht Klinikstudien: Pitchdeck hier