Les conséquences d'une banale erreur de programmation ont rarement été aussi coûteuses que l'explosion en plein vol d'Ariane 5, le 4 juin 1996. A la suite de cet incident, les logiciels destinés aux futures fusées seront systématiquement soumis à une analyse statique de code*, grâce à une technologie mise au point par Alain Deutsch, chercheur à l'INRIA. Depuis 1999, cette technologie dénommée IABC est commercialisée par Polyspace Technologies. Elle est ainsi mise à la portée d'un public beaucoup plus large. Aéronautique, automobile mais aussi d'autres secteurs pour lesquels les risques encourus sont surtout d'ordre financier peuvent désormais bénéficier de ce type d'outils. Des analyseurs de code sont actuellement disponibles pour trois langages : ADA, utilisé dans l'industrie spatiale, C et enfin sa déclinaison orientée objet, C++. Ces outils traquent les erreurs d'exécution en amont des phases de test classiques, en analysant la structure et la syntaxe du code source. Erreurs de pointeurs, divisions par zéro, de multiples causes de bogues peuvent ainsi être identifiées dès le développement, de manière automatisée. Un jeu de codes couleur Sur le même principe qu'un correcteur orthographique, les éléments du code sont mis en couleur, afin de localiser d'un coup d'oeil les parties problématiques. Quand une erreur est identifiée de manière certaine, le code incriminé apparaît en rouge et une description du problème est fournie. Si le logiciel suspecte seulement une erreur, le code est orange. La solution examine également la couverture du code : si certaines parties ne sont jamais parcourues lors de l'exécution de l'application, elles apparaissent en gris. De cette façon, les utilisateurs souhaitant réduire la taille de leurs programmes identifient facilement les blocs pouvant être supprimés. Enfin, le code ne posant pas de problème apparaît en vert, une fonction destinée avant tout aux utilisateurs souhaitant valider un code livré par un tiers. Les solutions destinées au langage C intègrent par ailleurs un vérificateur des règles MISRA (Motor Industry Software Reliability Association), une série de bonnes pratiques mises au point par l'industrie automobile pour fiabiliser les applications C embarquées. Prix : à partir de 50 000 € (*) L'analyse statique examine un code source sans l'exécuter, par opposition à l'analyse dynamique qui teste le programme en le faisant fonctionner.