Free cookie consent management tool by TermsFeed

dimanche 27 novembre 2011

Le jeu et la foule pour tester les logiciels

DARPA
Tout le monde sait que les logiciels sont loin d'être entièrement fiables et personne n'est surpris de rencontrer, de temps en temps, une anomalie ou un bogue en utilisant les outils informatiques qui sont au cœur de beaucoup de nos activités quotidiennes.

Dans la plupart des cas, ces erreurs sont irritantes mais n'auront pas de conséquences graves et, au vu des coûts astronomiques que représenteraient les tests nécessaires pour garantir une perfection probablement illusoire, il reste préférable d'en accepter l'inévitabilité ou, dans le meilleur des cas, d'en prévoir par avance la survenue. Cependant, il existe aussi des situations où un défaut logiciel peut avoir des effets catastrophiques.

Le domaine militaire est particulièrement concerné et c'est la raison pour laquelle la DARPA, l'agence de recherche "avancée" du département de la défense américain (qui est, entre autres, à l'origine de la création du réseau Internet), a lancé un programme, ciblant à la fois les applications militaires et civiles, pour répondre au défi du "logiciel parfait". Son titre, "Crowd Sourced Formal Verification" (CSFV) révèle d'emblée qu'il adopte une approche originale du sujet.

Tout d'abord la "vérification formelle" dont il est question mérite une petite explication : alors que, traditionnellement, les logiciels sont testés en les utilisant "normalement" pour vérifier s'ils fonctionnent comme attendu, il s'agit ici de démontrer, au sens mathématique, que le code du programme considéré est effectivement correct. Cette technique est beaucoup plus fiable que la première mais, malheureusement, elle ne peut être réalisée que "manuellement", par des ingénieurs spécialisés, et son coût élevé la réserve aujourd'hui à quelques portions de code névralgiques.

Pour surmonter ce handicap et rendre cette démarche plus accessible, la DARPA imagine un système capable de créer un jeu (plus ou moins automatiquement), à partir du logiciel à contrôler et des modalités de validation formelle, qui serait ensuite soumis à la "foule" (d'où l'idée de crowdsourcing), du grand public ou d'un cercle fermé, pour réaliser la démonstration de fiabilité.

Les résultats de ce programme sont encore lointains, s'ils aboutissent même un jour. Mais, en cas de succès, il deviendrait possible d'imaginer un monde où tous les logiciels, même les moins critiques (en commençant toutefois par les secteurs sensibles : médical, aéronautique... et financier, au moins en partie), seraient exempts de défauts. Qui n'en rêverait pas ? Et si, pour ce faire, ce sont des principes de ludification (gamification) et de crowdsourcing qui sont mis en œuvre, ceux-ci auront encore une fois démontré leur intérêt pour traiter des problèmes complexes.

Aucun commentaire:

Enregistrer un commentaire

Afin de lutter contre le spam, les commentaires ne sont ouverts qu'aux personnes identifiées et sont soumis à modération (je suis sincèrement désolé pour le désagrément causé…)