So vermeiden Sie Softwareprobleme 1

So vermeiden Sie Softwareprobleme

In diesem digitalen Zeitalter müssen Sie von Social-Media-Giganten wie Facebook und Twitter und E-Commerce-Plattformen wie Alibaba und Amazon gehört haben. Diese Online-Websites sind für ihren Betrieb auf verschiedene Softwarepakete angewiesen. Diese Programme haben ganz offen gesagt die Art und Weise verändert, wie wir arbeiten, denken und leben.

Außerdem werden viele Geräte, die früher rein mechanischer Natur waren, jetzt von Software gesteuert. Beispielsweise waren Thermostate einst elektromechanische Geräte. Allerdings verlassen sie sich jetzt stark auf Software für den Betrieb.

Softwarefehler können jedoch ziemlich problematisch sein, insbesondere da wir uns bei täglichen Aktivitäten zunehmend auf sie verlassen. Tatsächlich hat es einige Fälle gegeben, in denen Software ihren beabsichtigten Zweck nicht erfüllt hat, was zu unangenehmen Ergebnissen geführt hat.

In diesem Artikel sprechen wir über 4 Fälle, in denen die Softwareleistung ihre Ziele stark verfehlt hat, und wie solche Softwareprobleme vermieden werden können.

Lesen Sie auch: 10 Gründe, warum Sie es nicht eilig haben sollten, ein iPhone X zu kaufen

1. 911-Ausfall in mehreren Bundesstaaten der USA

Notdienste

911 ist ein kritischer Dienst, der es Einzelpersonen ermöglicht, bei Bedarf Notfallpersonal zu kontaktieren. Manchmal kann die Kontaktaufnahme mit der Notrufzentrale über 911 buchstäblich den Unterschied zwischen Leben und Tod ausmachen.

Daher war es eine ziemliche Katastrophe, als am 9. April 2014 in sieben Bundesstaaten der USA, darunter Kalifornien, Florida, Minnesota, North Carolina, Pennsylvania, South Carolina und Washington, die Anrufweiterleitung 911 ausfiel.

Dieser Ausfall wurde durch einen vermeidbaren Codierungsfehler verursacht, der in einer Notrufzentrale in Colorado auftrat, die Intrado gehörte.

2. Flugverbot für die Flotte von United Airlines

United Airlines

Im Juli 2015 musste United Airlines aufgrund eines Softwarefehlers seine gesamte Flugzeugflotte am Boden lassen. Dies betraf weltweit mehr als 4.900 Flüge und ließ viele Passagiere an Flughäfen festsitzen und ganz offensichtlich frustriert zurück.

Es gab wahrscheinlich auch wirtschaftliche Auswirkungen, da die Fluggesellschaft viele Passagiere für die Unannehmlichkeiten hätte entschädigen müssen. Es gab wahrscheinlich auch einige wichtige Geschäftstermine, die wegen des Groundings verpfuscht wurden.

3. Fehlfunktion des Gaspedals des Toyota Camry

Wirres Durcheinander
Da der Software im Laufe der Jahre immer mehr Funktionen hinzugefügt werden, kann es so aussehen.

Im September 2007 war Jean Bookout mit der Beifahrerin Barbara Schwarz auf dem Interstate Highway 69 in Oklahoma unterwegs, als sie Schwierigkeiten hatte, ihren Toyota Camry zu kontrollieren.

Sie versuchte, ihre Füße vom Gas zu nehmen, aber das Auto beschleunigte weiter. Das Bremspedal konnte das Auto nicht anhalten und sie musste ihre Notbremse betätigen.

Leider schleuderte dies das Auto in eine Böschung. Schwarz starb an den Folgen und Bookout wurde wegen schwerer Verletzungen für fünf Monate ins Krankenhaus eingeliefert.

Autounfall

Repräsentatives Bild

Es wurde spekuliert, dass der Unfall auf mehrere Codierungsmängel zurückzuführen war, die zum Absturz einer Aufgabe in der CPU des Camry führten. Diese CPU würde eine übermäßig große Anzahl von Funktionen steuern, einschließlich Zündung, Drosselklappensteuerung und Tempomat.

Toyotas Code wurde zu einem verworrenen Durcheinander, nachdem mehrere Jahre lang neue Codes auf alten gestapelt wurden. Dies wird normalerweise als „Spaghetti-Code“ bezeichnet.

Spaghetti-Code ist unnötig komplex und macht es fast unmöglich, Fehler zu finden. Darüber hinaus hatte Toyota bei seiner Codierung auch gegen mehrere Sicherheitsregeln verstoßen. Anzumerken ist, dass dies kein Einzelfall einer unbeabsichtigten Beschleunigung bei einem Toyota war.

Der Unfall von Bookout brachte dieses Problem jedoch ans Licht und hob Toyotas Fehler in ihrem Softwareprozess hervor. Es wurde sogar festgestellt, dass es je nach Struktur des Toyota-Codes mehr als 10 Millionen Möglichkeiten für eine unerwünschte Beschleunigung gibt.

Nest-Thermostat-Fehler

Nest_Thermostat_1
Quelle: Flickr

Nest ist ein Unternehmen von Alphabet, das intelligente Thermostate herstellt. Diese Thermostate sind ziemlich raffiniert und ermöglichen es Benutzern, die Temperatur in ihren Häusern von ihren Smartphones aus zu steuern.

Letzten Winter kam es bei Nest-Thermostaten zu einem Fehler in Form eines fehlerhaften Software-Updates, wodurch die Batterien entladen wurden. Leider trat dieser Fehler mitten im Winter auf, wodurch mehrere Benutzer vorübergehend ohne Heizung blieben. Das ist definitiv etwas, was Sie zu dieser Jahreszeit nicht wollen.

Siehe Weiter: Selfies sind nicht so trivial, wie Social Media sie in letzter Zeit gemacht haben

Eine kurze Analyse von Softwareproblemen

Ansätze wie modellbasiertes Design und TLA+ ermöglichen es Entwicklern, sich einen umfassenderen Überblick über die Funktionsweise ihrer Software zu verschaffen.

Brett Victor, ein bekannter Computerforscher, meint, dass es eine Diskrepanz zwischen Programmierern und den Problemen gibt, die sie mit Codes zu lösen versuchen.

Aufgrund dieser Trennung wird es für Programmierer schwierig, sich vorzustellen, was sie versuchen, in Codes einzufügen. Victor glaubt, dass dies einer der Faktoren ist, die dazu beitragen, dass Software voller Fehler ist.

Es gibt jedoch Hoffnung. Ansätze wie modellbasiertes Design und TLA+ ermöglichen es Entwicklern, sich einen umfassenderen Überblick über die Funktionsweise ihrer Software zu verschaffen.

Fehlertests

Modellbasiertes Design ermöglicht, wie der Name schon sagt, die Entwicklung von Software über visuelle Modelle. TLA+, die Abkürzung für Temporal Logic of Actions, ist eine Sprache, die zum Schreiben der Spezifikationen eines Computerprogramms entwickelt wurde. Das Tolle an TLA+ ist, dass es umfassendes Testen und Verifizieren von Software ermöglicht, bevor sie veröffentlicht wird.

Sowohl modellbasiertes Design als auch TLA+ haben sich bereits bewährt. Esterel Technologies, ein Softwareentwicklungsunternehmen, verwendet modellbasiertes Design, um sicherheitskritische Software zu erstellen, während TLA+ von Unternehmen wie Microsoft verwendet wurde, um einen möglichen katastrophalen Xbox-Fehler zu beheben, und von der Europäischen Weltraumorganisation, um Codes für eine solche Sonde neu zu schreiben auf einem Kometen gelandet.

Der Prozess des Schreibens von Code wird von Programmierern sehr geschätzt. Viele von ihnen sind ganz einfach fasziniert vom Prozess des Schreibens von Codes. Es ist daher eine Herausforderung, einige Programmierer dazu zu bringen, Ansätze wie modellbasiertes Design und TLA+ zu akzeptieren. Diese Ansätze werden oft als rein akademisch ohne Realisierbarkeit in der realen Welt wahrgenommen. Ein Meinungswechsel muss jedoch so früh wie möglich erfolgen.

Lesen Sie auch: Wir drängen unsere Kinder in Richtung Blindheit

Abschließende Gedanken

Software wird zunehmend in Anwendungen eingesetzt, die eingebaute Sicherheitsvorkehrungen erfordern. Bessere Methoden zum Entwerfen von Software müssen flächendeckend eingeführt werden, da solche Anwendungen in unserem Leben von entscheidender Bedeutung sind.

Prozesse wie die Automatisierung sind heutzutage stark von Software abhängig, aber ein Fehler in einer Codezeile kann uns zu großen Rückschlägen führen, wie die oben genannten Fälle zeigen.

Kodierung

Stellen Sie sich nun vor, dass so etwas wie Künstliche Intelligenz (KI) in diese Anwendungen integriert wird. KI ist allein ohne Softwarefehler beängstigend genug. Fügen Sie dem Mix Fehler hinzu und es ist nicht abzusehen, was passieren könnte.

Allerdings gibt es hier einen Silberstreif am Horizont. Mit ein wenig Arbeit und einigen neuen Tools können wir bessere Software und KI entwickeln, indem wir sie solider entwerfen und auf Herz und Nieren testen.

Hoffen wir, dass dieses kritische Problem von den betroffenen Behörden ernst genommen wird, damit wir das volle Potenzial der Software nutzen können, aber nur, um eine sicherere und intelligentere Zukunft aufzubauen.

Siehe Weiter: Künstliche Intelligenz: Typen und die Zukunft, die sie für den Menschen bereithält

Unterstützen Sie unsere Arbeit ❤️

Wenn Ihnen dieser Artikel gefallen hat, können Sie uns mit einem Trinkgeld unterstützen, damit wir weiterhin großartige Inhalte veröffentlichen können.

Sichere Zahlung mit PayPal