Même s'il est le chouchou des internautes, Mozilla Firefox n'en demeure pas moins un programme créé par la main de l'homme. Il est donc par essence imparfait. Mais jusqu'à quel point '


Des failles et des défauts à la pelle '!
Adam Harrsion, du site Klocwork, s'est "amusé" à soumettre le code-source de Mozilla Firefox à la question, en l'occurrence en utilisant un programme baptisé K7, qui examine les lignes de code afin d'y dénicher les incohérences. Il en a découvert pas mal, mais le résultat de ses recherches doit être relativisé.

Lorsqu'on vous dit que votre navigateur Web comporte 655 défauts en son sein, et 71 failles potentiellement exploitables, vous commencez peut-être à paniquer, mais il faut se rappeler, dans le cas de Firefox, qu'il est le fruit des travaux de milliers de personnes disséminées à travers le monde (open-source oblige), et qu'il sera d'autant plus scruté sous tous les angles qu'il continuera de faire de l'ombre à Internet Explorer. On pourrait appeler cela la rançon du succès... Les défauts et failles trouvés par Adam Harrsion sont pour la plupart connus des développeurs de Firefox, qui travaillent à les faire disparaître, mais cela ne doit pas nous empêcher d'en savoir un peu plus sur ce qui se passe quand nous cliquons sur l'icône en forme de panda rouge.


"J'ai la mémoire qui flanche..."
Pour l'essentiel, les défauts montrés du doigt concernent l'utilisation et la gestion de la mémoire vive de nos ordinateurs. Par exemple, dans 446 cas, on reproche à Firefox de ne pas vérifier suffisamment la plage de mémoire qu'il va s'allouer, et de ne pas la vider avec assez de soin lorsqu'il se ferme. Cela rejoint les observations faites par certains utilisateurs, qui estimaient les besoins en ressources du navigateur un peu trop élevés : si, à la fermeture d'une fenêtre ou d'un onglet, la mémoire qui lui était dévolue n'est pas libéré, la consommation s'accentue, au point d'atteindre parfois des sommets, comme nous l'avons souvent mentionné ici.

En fait, avant de s'adjuger une place dans la mémoire vive de votre machine, tout programme devrait vérifier si cette plage est libre (si la somme des données qui y sont stockées est bien égale à zéro), et s'astreindre à donner également un résultat nul en quittant cette même plage de mémoire. Dans le premier cas, l'utilisation d'une plage de mémoire déjà occupée peut conduire à un dépassement de la capacité de ladite mémoire, avec un plantage à la clé, le plus souvent. Dans le second cas, un programme malicieux pourrait aller occuper l'espace libéré en toute discrétion, puisque le logiciel qui l'occupait auparavant n'a pas signalé au système qu'il libérait les lieux. Un peu comme si vous quittiez votre appartement sans le signaler à votre propriétaire, et que des squatteurs viennent y loger...

Tableaux klocwork failles firefox
Tableaux klocwork failles firefox
Tableaux klocwork failles firefox

Conclusions alarmistes '
Les tableaux joints montrent (en anglais) le nombre et la désignation des défauts et failles potentielles, mais certains anciens développeurs de Mozilla sont déjà montés au créneau pour défendre leur bébé. L'un d'eux, sur le forum de discussion adossé à l'article, a ainsi déclaré que "de nombreux tests ont été menés ces dernières années sur le code de Firefox, et que dans certains cas ils ont contribué à régler quelques problèmes", avant d'ajouter que "le fait de déclarer qu'il existe plus de 600 défauts identifiés et bien précis relève de l'affabulation." Il souligne également que la plupart des problèmes mentionnés plus haut, notamment ceux relatifs au déréférencement de plages de mémoire, sont pris en charge par les outils de contrôle inscrits dans le code, tandis que les fuites de mémoire (autrement dit l'utilisation de plus de plages mémoire que nécessaire) sont elles aussi prise en compte par ces outils de diagnostic. Il termine par ces mots : "Consacrer des heures de travail à relire des rapports générés par ces outils est simplement une perte de temps." Le tout sans nier l'existence--potentielle--d'éventuels défauts dans la gestion de la mémoire par Firefox.

Ce à quoi d'autres rétorquent qu'en relisant ces rapports à intervalles réguliers, on s'éviterait une copieuse relecture quand quelque chose tourne mal. A chacun sa méthode, finalement...