Publié dans Les Echos le 22 novembre 2022.
Qui n’a pas perdu patience un jour devant
une machine ou une application bloquée en se demandant pourquoi il y a autant
de bogues informatiques ?
Le coût des défauts logiciels est considérable :
entre 20 et 200 milliards par an pour un pays comme la France, dont une part
importante liée à des problèmes de cybersécurité. Mais y-a-t-il plus de défauts
dans les logiciels que dans les automobiles, ce secteur étant reconnu pour sa
maîtrise des processus et de leur qualité ? Le taux de rappel des
véhicules automobiles est connu avec précision, contrairement à la situation
qui prévaut pour les logiciels. Il est donc difficile de faire des comparaisons,
mais le taux de rappel des voitures est loin d’être négligeable : il est
de 7.5 % aux Etats-Unis et il progresse régulièrement. Par ailleurs les
accidents coûtent chaque année en France plusieurs dizaines de milliards. Ils
ont des causes multiples, comme des erreurs de comportement (alcool) ou des
éléments extérieurs (état de la route, pluie,…), mais il en va de même pour les
logiciels : un problème de cybersécurité est un cocktail comprenant une faille
informatique, un attaquant désireux de l’exploiter et une victime mal protégée.
Enfin, les Parisiens perdent l’équivalent de 8% de leur temps de travail dans
les embouteillages. Il serait malhonnête de le reprocher aux constructeurs
automobiles, mais certains problèmes logiciels sont également causés par des
réseaux mal dimensionnés.
L’industrie logicielle mange tout
La cause la plus étonnante, mais pas la
plus fréquente, des bogues tient aux rayons cosmiques qui nous inondent en
permanence : ils causent une erreur tous les 4 ans sur un téléphone mobile
et en causeraient une par jour par Datacenter s’ils n’étaient pas conçus pour
absorber ce type d’erreur. Passons également sur la petite minorité d’éditeurs
qui préfèrent un mauvais développement à l’heure à un développement correct en
retard. Ils adaptent à l’informatique la maxime d’Audouard (« Une nouvelle
plus un démenti, cela fait deux informations ») : un mauvais logiciel puis
une mise à jour cela fera deux ventes.
La croissance du nombre de bogues tient avant
tout au fait qu’il y a de plus en plus d’applications de plus en plus complexes.
On le résume en disant que le logiciel mange tout : de plus en plus de
tâches (comptabilité, traduction, archives, gestion des fournisseurs, production
de rapports…) sont remplacées par des logiciels. Premièrement, le nombre de
logiciel et donc de bogues augmente. Ensuite nous dépendons de plus en plus des
logiciels, ce qui rend ces défauts plus visibles : une panne réseau causait
jadis un retard du courrier électronique alors qu’elle bloquera une entreprise passée
au télétravail et à la visioconférence. Enfin, cette croissance augmente le
besoin en développeurs plus vite que les écoles ne peuvent en fournir. Or la
productivité et la qualité d’un programmeur peut varier dans un rapport de 1 à
20 – ce qui explique à la fois l’envolée des salaires dans les entreprises qui de
donnent les moyens d’attirer les meilleurs talents et les problèmes de qualité
rencontrés par les entreprises qui font l’inverse. Troisièmement, le
développement logiciel ne consiste plus depuis longtemps à aligner les lignes
de code, mais relève davantage d’un travail d’ensemblier de système complexe qui
assemble des composants d’origines multiples (fournisseurs, logiciel libre, code
repris d’autres logiciels,…). Et quand ces composants ont des défauts, les
conséquences sont massives : la faille de la composante « Log4j »
a ainsi créé une vague de failles de sécurité qui a touché plus de la moitié
des entreprises.
Il existe évidemment des méthodes d’assurance qualité, des outils et des
langages pour réduire ces problèmes, mais même une entreprise qui les maitrise
correctement produira encore plus d’un bogue par centaine de lignes de code et dont
5% survivront aux tests et se retrouveront dans le logiciel mis sur le marché. Le
monde produisant des dizaines de milliards de lignes de code chaque année, il
continuera à produire des millions de bogues par an.
(c) https://longterme.org https://longterme.fr