L'ordinateur en fauteLes ordinateurs ne sont pas à l'abri des erreurs.
Face à la complexité des programmes, celles-ci ont même
tendance à se multiplier. Quelles sont leurs conséquences?
Peut-on les éviter? |
|
Depuis quelques années, les erreurs informatiques
ont tendance à se multiplier, parallèlement à la complexification
des programmes. "Il y a une grosse probabilité pour que,
dans tout programme un tant soit peu volumineux, il y ait une ou plusieurs
anomalies", reconnaît Alain Deutsch, chercheur à l'Institut
de recherche en informatique et en automatique (Inria). Trois grandes sources
d'erreurs peuvent être distinguées. Premier problème:
la construction d'un programme. Le concepteur peut, dès le départ,
avoir une analyse faussée du problème à résoudre
ou oublier une de ses composantes. Ce problème est d'autant plus
fréquent que les programmes à concevoir sont compliqués
et volumineux. Selon Jean-François Colonna, chercheur au Centre de
mathématiques appliquées, "certaines anomalies vont
se manifester immédiatement. D'autres peuvent très bien ne
jamais être détectées si les fonctions où elles
se trouvent ne sont pas utilisées". Le second problème
réside dans la "traduction" des langages de programmation.
En général, ces derniers ont une structure plus élaborée
que celle utilisée par les microprocesseurs. On utilise alors un
nouveau programme baptisé compilateur qui permet de traduire
le langage de programmation dans un langage plus simple. Il existe généralement
un compilateur par type de langage et d'ordinateur. Tous ont malheureusement
un point commun: très complexes (plusieurs milliers de lignes d'instructions),
ils sont eux aussi susceptibles de contenir des anomalies. Erreurs d'arrondisTroisième grande source d'erreurs: l'exécution des programmes
de calculs. Un des problèmes les plus courants concerne les erreurs
d'arrondis. Un ordinateur, quelle que soit sa puissance, a une capacité
de stockage limitée et ne peut prendre en compte tous les chiffres
flottant après la virgule. Conséquence: la machine ne pourra
manipuler qu'un nombre arrondi. Dans la plupart des cas, cet ajustement
restera infiniment petit et n'aura aucune conséquence sur les résultats
finaux. Il en est tout autrement pour la recherche en mathématiques
ou en physique. Quand les résultats sont réutilisés
pour de nouveaux calculs qui s'enchaînent les uns aux autres, on peut
craindre qu'au bout d'un moment les données obtenues soient complètement
faussées. Quelles sont les conséquences de toutes ces anomalies?
Pour l'utilisateur lambda d'ordinateurs, elles se traduisent le plus souvent
par le "plantage" de l'appareil. Désorienté par
des données ou des commandes contradictoires, l'ordinateur se met
lui-même hors-circuit. Tests automatiquesDans le domaine de l'industrie et de la recherche, les erreurs ont souvent
un impact plus grave. On se souvient du premier vol d'Ariane 5, en 1996,
qui s'est terminé en moins d'une minute par l'explosion de l'appareil
à la suite d'une erreur dans les logiciels de calcul. Les batteries
de tests effectués pour vérifier le bon fonctionnement des
programmes n'avaient rien détecté. Il est en effet impossible
de tester l'ensemble des cas de figures possibles. Depuis cet accident,
l'Aérospatiale, associée à l'Institut de recherche
en informatique et en automatique, a mis au point une méthode mathématique
permettant de compléter les tests en vigueur par des calculs automatiques.
Aucune méthode de validation, cependant, ne peut être fiable
à 100% et le risque d'erreur ne doit jamais être écarté.
La meilleure garantie réside peut-être dans la prudence de
l'utilisateur. " On a trop tendance à attribuer aux ordinateurs
des propriétés qu'ils n'ont pas, conclut Jean-François
Colonna. Il faut être conscient de leurs limites." * PATRICIA PRADEL |
FocusPuces réfractaires |