Comment définissez-vous un bug ?Sylvain Huet : La notion de bug recouvre différentes sortes de dysfonctionnements. Grosso modo, on dit qu’il y a un bug lorsqu’un système se met à agir d’une manière non désirée, et généralement indésirable. Cela suppose que l’on sache définir le comportement attendu. Or, bien souvent, le bug découle directement d’un manque de clarté dans les idées de son auteur. On peut dire alors que le bug se situe ‘ entre l’écran et la chaise ‘.En existe-t-il de différentes sortes ?S.H. : Oui. Cela va du bug qui fait planter un logiciel jusqu’à l’erreur d’étourderie lors de la conception. Par exemple, une calculette qui effectue une addition lorsqu’on lui demande une soustraction. Ou bien des libellés qui sont inversés dans une boîte de dialogue. Les virus, eux aussi, peuvent être considérés comme des bugs du système d’exploitation : comment expliquer à l’utilisateur qu’ouvrir une pièce jointe a une chance sur deux d’altérer le fonctionnement de l’ordinateur ? Il existe aussi des bugs moins techniques, comme le spam. Quand le courrier électronique a été ‘ inventé ‘, on n’imaginait pas que cela deviendrait un outil de marketing direct massif. Là encore, il y a un décalage entre le fonctionnement attendu et le fonctionnement constaté.Quelles peuvent en être les conséquences ?S.H. : Quelle que soit la conséquence, elle affecte de toute façon directement l’utilisateur. Il est empêché ou gêné dans son activité. Par exemple, quand le réseau tombe en panne, il doit utiliser une clé USB pour échanger des fichiers. D’où une perte d’efficacité et de temps, avec parfois des incidences économiques. Autre exemple : les concepteurs n’ont pas prévu certains cas de figure possibles. C’est arrivé avec des systèmes de réservation en ligne où il était impossible de réserver plus de quatre places. Quand on est cinq, c’est gênant.Peut-on concevoir des logiciels sans bugs ?S.H. : Oui, il n’y a pas de fatalité. Cela n’a rien à voir avec le ‘ risque zéro ‘. Sur un projet de taille modérée, une bonne rigueur et des idées bien claires suffisent à éviter les défauts. Au-delà, on peut choisir des méthodes de développement qui évitent les bugs, mais ce ne sont malheureusement pas celles qui sont à la mode. En effet, les risques de bugs sont réduits lorsqu’on considère un logiciel sous un angle un peu plus mathématique, comme une simple fonction. Le logiciel se prête alors lui-même à l’analyse et au calcul. Parallèlement, il existe tout un domaine de la recherche sur la vérification de l’absence de bugs dans un programme, appelé ‘ la preuve de programme ‘, dans lequel les Français sont plutôt bons.Y a-t-il des types de logiciels plus difficiles à concevoir, donc davantage susceptibles de mal fonctionner du premier coup ?S.H. : Les logiciels qui présentent le plus de risques de bugs sont ceux qui doivent prendre en compte un grand nombre de facteurs imprévisibles. Pour ces logiciels, il est difficile de reproduire une situation, et donc un bug. Or un bug que l’on sait reproduire à la demande est généralement très facile à corriger. L’évolution de l’informatique depuis cinq ou six ans est marquée par un plafonnement des performances des processeurs, que les fabricants tentent de compenser en multipliant les processeurs dans un même ordinateur (ce qu’on appelle les ‘ multic?”urs ‘). Les logiciels ont donc tendance à traiter le plus de tâches possibles ‘ en parallèle ‘. Or, d’une exécution à l’autre, les tâches ne s’exécutent jamais tout à fait au même rythme, ce qui induit de l’imprévisibilité et donc de nombreux risques de bugs.Est-il vrai que les développeurs passent beaucoup de temps à corriger les bugs ?S.H. : C’est exact. Mais cela dépend en fait beaucoup de l’attitude de la personne face à ses propres erreurs (comme dans toute activité). Si on accepte de voir cela comme un combat courageux contre soi-même, un défi pour mieux se connaître, un sport complet dans lequel tous les coups sont permis pour retrouver ce qui est généralement une aiguille dans une botte de foin, alors cette partie-là du travail s’avère passionnante.
🔴 Pour ne manquer aucune actualité de 01net, suivez-nous sur Google Actualités et WhatsApp.