Microsoft s'attaque aux pilotes défaillants. Les pilotes logiciels, s'entend...



Au siège de Microsoft, on est convaincu que si les différentes versions de Windows vous affichent parfois le si redouté BSOD ( Blue Screen Of Death ) et redémarrent votre PC sans crier gare, c'est en majeure partie à cause de pilotes mal écrits.

Les pilotes, ce sont ces petits logiciels qui doivent aider le système d'exploitation de votre ordinateur -- Windows dans le cas qui nous occupe -- à reconnaître les périphériques, internes ou externes, installés sur la machine: clavier, écran, disque dur, etc...

Partant du principe qu'un pilote défectueux peut engendrer une cascade de soucis, notamment au démarrage du PC, ou de celui du périphérique concerné, Microsoft a élaboré un logiciel qui détecte les pilotes installés sur votre PC, et compare le code de ces derniers avec un modèle mathématique "idéal". Si un pilote présente une différence avec ce modèle, un message d'alerte s'affiche à l'écran, avertissant l'utilisateur du problème.

Assez bizarrement, s'agissant d'un programme destiné à assurer la stabilité des systèmes d'exploitation de Microsoft, ce logiciel, baptisé SDV ( Static Driver Verifier ), est resté jusqu'ici dans un quasi-anonymat.

Son principe, ultra-simple, cache cependant un long développement, puisque les premières bases en ont été jetées par Bill Gates lors de la Windows Engineering Conference 2002. Le président de Microsoft l'avait alors qualifié de "Saint-Graal de l'informatique", rien de moins.

Trois ans plus tard, SDV s'intègre de plein pied dans le projet Slam, et même s'il ne peut revendiquer une efficacité totale (il ne peut en effet garantir qu'un pilote fonctionnera toujours sans défaut), il est tout de même en mesure de prévenir un certain nombre de dysfonctionnements.

"Il chasse les bogues grâce à l'analyse statique (durant la phase de compilation) du code d'un pilote, plutôt qu'en examinant la façon dont il se comporte un fois lancé", explique un programmeur du projet Slam. Toutefois, cette opération peut prendre jusqu'à 20 minutes pour les pilotes les plus complexes; de plus, s'agissant d'une analyse statique, il peut parfois trouver des bogues qui n'existent pas...

Les pilotes sont le plus souvent écrits par les fabricants de matériels, dont l'expérience en matière de programmation ne peut soutenir la comparaison avec celle d'un éditeur de la taille de Microsoft. Pourtant, du fait que l'on attend d'un pilote un ensemble de tâches simples, ils sont bien adaptés à l'analyse statique.
Cette méthode ne pourrait toutefois s'appliquer à des programmes complexes, comme Word ou Adobe Reader, et ne pourrait donc être considéré comme un outil de débogage à part entière.

La firme Ounce Labs commercialise déjà un logiciel d'analyse automatique de code dénommé Prexis, qui recherche davantage les erreurs de conception pouvant ouvrir des failles de sécurité que les erreurs de syntaxe.

Le processus de vérification, qu'il soit fait en amont ou en aval de la compilation, part tout de même du principe qu'un logiciel défaillant ne devrait jamais atterrir sur la machine de l'utilisateur final.

Et ça, c'est plutôt une bonne chose...



Source : Wired News