Android

Comment éviter les problèmes de logiciel

Système auditif

Système auditif

Table des matières:

Anonim

En cette ère numérique, vous devez avoir entendu parler de géants des médias sociaux tels que Facebook et Twitter et de plates-formes de commerce électronique telles qu'Alibaba et Amazon. Ces sites Web en ligne reposent sur divers progiciels pour leur fonctionnement. Ces programmes ont franchement changé notre façon de travailler, de penser et de vivre.

En outre, de nombreux appareils qui étaient auparavant uniquement de nature mécanique sont désormais contrôlés par logiciel. Par exemple, les thermostats étaient autrefois des appareils électromécaniques. Cependant, ils dépendent maintenant fortement des logiciels pour fonctionner.

Cependant, les bogues logiciels peuvent être assez problématiques, en particulier avec notre dépendance accrue à leur égard pour les activités quotidiennes. En fait, il y a eu de nombreuses occasions où un logiciel n'a pas atteint l'objectif visé, ce qui a entraîné des résultats désagréables.

, nous parlons de 4 occasions où les performances logicielles ont largement manqué leur but et comment éviter de tels problèmes logiciels.

Lisez aussi: 10 raisons pour lesquelles vous ne devriez pas être pressé d'acheter un iPhone X

1. Panne du 911 dans plusieurs États américains

Le service 911 est un service essentiel qui permet aux individus de contacter le personnel d'urgence en cas de besoin. Parfois, entrer en contact avec les responsables des urgences via le 9-1-1 peut littéralement faire la différence entre la vie et la mort.

Le 9 avril 2014, l'acheminement des appels 911 a échoué dans sept États des États-Unis, notamment la Californie, la Floride, le Minnesota, la Caroline du Nord, la Pennsylvanie, la Caroline du Sud et Washington.

Cette panne a été causée par une erreur de codage évitable, survenue dans un centre de gestion des appels d’urgence du Colorado, propriété d’Intrado.

2. Échouement de la flotte de United Airlines

En juillet 2015, United Airlines a été contrainte de mettre à la terre toute sa flotte d'appareils en raison d'un problème logiciel. Cela a affecté plus de 4 900 vols dans le monde et a laissé de nombreux passagers bloqués dans les aéroports, ce qui était évidemment frustré.

Il y avait probablement aussi un impact économique puisque la compagnie aérienne aurait dû indemniser de nombreux passagers pour les inconvénients causés. Plusieurs réunions d’affaires importantes ont probablement été gâchées par l’échec.

3. Dysfonctionnement de la pédale d'accélérateur Toyota Camry

En septembre 2007, Jean Bookout voyageait sur l'autoroute Interstate 69, dans l'Oklahoma, avec sa passagère Barbara Schwarz, lorsqu'elle a eu des difficultés à contrôler sa Toyota Camry.

Elle a essayé de lever les pieds de la manette des gaz mais la voiture a continué à accélérer. La pédale de frein n’arrêta pas la voiture et elle fut forcée d’utiliser son frein d’urgence.

Malheureusement, la voiture est entrée dans un remblai. Schwarz en est mort et Bookout a été hospitalisé pendant cinq mois en raison de blessures graves.

Il a été supposé que l'accident s'était produit en raison de plusieurs insuffisances de codage ayant conduit à la défaillance d'une tâche dans le processeur de la Camry. Cette unité centrale contrôlerait un nombre excessivement énorme de fonctions, notamment l'allumage, la commande des gaz et le régulateur de vitesse.

Le code de Toyota est devenu un désordre enchevêtré après plusieurs années d’empilement de nouveaux codes sur des anciens. Ceci est généralement appelé «code spaghetti».

Le code spaghetti est inutilement complexe et rend presque impossible la recherche d’erreurs. En outre, Toyota avait également violé plusieurs règles de sécurité dans leur codage. Il convient de noter qu'il ne s'agissait pas d'un cas isolé d'accélération involontaire dans une Toyota.

Cependant, l'accident de Bookout a mis en lumière ce problème et mis en lumière les failles de Toyota dans son processus logiciel. Il a même été découvert qu'il y avait plus de 10 millions de façons différentes de provoquer une accélération indésirable, en fonction de la structure du code de Toyota.

Echec du thermostat Nest

Nest est une société appartenant à Alphabet qui fabrique des thermostats intelligents. Ces thermostats sont assez astucieux et permettent aux utilisateurs de contrôler la température de leur domicile depuis leur smartphone.

L’hiver dernier, les thermostats Nest ont connu une anomalie sous la forme d’une mise à jour logicielle défectueuse, ce qui a provoqué l’épuisement de leurs piles. Malheureusement, cette erreur s’est produite en plein hiver, laissant plusieurs utilisateurs temporairement sans chaleur. C'est définitivement quelque chose que vous ne voulez pas arriver en cette période de l'année.

Voir suivant: Les selfies ne sont pas aussi triviales que les médias sociaux les ont retardées

Une brève analyse des problèmes logiciels

Des approches telles que la conception basée sur des modèles et TLA + permettent aux développeurs d’obtenir une vue d’ensemble plus détaillée du fonctionnement de leurs logiciels.

Brett Victor, éminent chercheur en informatique, estime qu’il existe un décalage entre les programmeurs et les problèmes qu’ils tentent de résoudre avec des codes.

En raison de cette déconnexion, il devient difficile pour les programmeurs d’imaginer ce qu’ils essaient d’incorporer dans des codes. Victor pense que c'est l'un des facteurs contribuant à la prolifération de bogues dans les logiciels.

Cependant, il y a de l'espoir. Des approches telles que la conception basée sur des modèles et TLA + permettent aux développeurs d’obtenir une vue d’ensemble plus détaillée du fonctionnement de leurs logiciels.

La conception basée sur des modèles, comme son nom l'indique, permet le développement de logiciels via des modèles visuels. TLA +, abréviation de Logique temporelle des actions, est un langage conçu pour écrire les spécifications d'un programme informatique. Ce qui est génial avec TLA +, c’est qu’il permet de tester et de vérifier de manière exhaustive les logiciels avant qu’ils ne soient publiés.

La conception basée sur les modèles et TLA + ont déjà fait leurs preuves. Esterel Technologies, société de développement de logiciels, utilise une conception basée sur des modèles pour créer des logiciels critiques pour la sécurité. TLA + a été utilisé par des organisations comme Microsoft pour réparer une éventuelle erreur catastrophique de la Xbox et par l'Agence spatiale européenne pour réécrire les codes d'une sonde. atterri sur une comète.

Le processus d’écriture du code est tenu en haute estime par les programmeurs. Beaucoup d’entre eux sont tout simplement intrigués par le processus d’écriture de codes. Il est donc difficile de convaincre certains programmeurs d’accepter des approches telles que la conception à partir de modèles et TLA +. Ces approches sont souvent perçues comme strictement académiques, sans viabilité réelle. Cependant, un changement de vue doit avoir lieu le plus tôt possible.

Lire aussi: Nous poussons nos enfants vers la cécité

Dernières pensées

Les logiciels sont de plus en plus utilisés dans des applications nécessitant des précautions de sécurité intégrées. De meilleures méthodes de conception de logiciels doivent être introduites à tous les niveaux, car de telles applications sont vitales dans nos vies.

Les processus tels que l'automatisation reposent beaucoup sur les logiciels ces derniers temps, mais une erreur dans une ligne de code peut nous amener à des revers majeurs, comme le montrent les exemples ci-dessus.

Imaginez maintenant que l’intelligence artificielle (IA) soit intégrée à ces applications. L'intelligence artificielle est suffisamment effrayante seule, sans problèmes logiciels. Ajoutez des bugs dans le mix et rien ne dit ce qui pourrait arriver.

Cependant, il y a une lueur d'espoir ici. Avec un peu de travail et quelques nouveaux outils, nous pouvons créer de meilleurs logiciels et une meilleure intelligence artificielle en les concevant de manière plus solide et en les testant.

Espérons que cette question critique sera prise au sérieux par les autorités concernées afin que nous puissions utiliser les logiciels à leur plein potentiel, mais uniquement pour construire un avenir plus sûr et plus intelligent.

Voir Suivant: L'intelligence artificielle: les types et l'avenir qu'elle réserve aux humains