Why3
Un langage pour la vérification déductive de programmes
Why3 est une boîte à outils pour la preuve mathématique de programmes, applicable à la vérification de systèmes critiques. Elle permet de prouver formellement qu’un code a le comportement attendu.
L’originalité de Why3 réside dans son adaptabilité, lui permettant d’être intégré dans différents logiciels pour la vérification de systèmes embarqués : il peut disposer de plusieurs langages d’entrées (C, Java, Ada, OCaml) et est capable d’exploiter de nombreux prouveurs en sortie (automatiques et/ou interactifs).
Une collaboration réussie
Why3 a, par exemple, été intégrée au cœur de l’environnement SPARK*, développé par la société AdaCore**, pour la vérification de codes critiques écrits en langage Ada. Cette intégration s’est déroulée dans le cadre du LabCom ProofInUse entre l’équipe Toccata et AdaCore.
Aujourd’hui, les projets clients SPARK ont des applications aussi variées que :
• les systèmes de gestion de trafic aérien
• la mise en œuvre à haute fiabilité de composants de véhicule
• le développement de logiciel embarqué fiable pour la santé (cœur artificiel de la société Scandinavian Real Heart AB)
La technologie Why3 est également utilisée dans l’environnement Frama-C pour l’analyse de codes critiques écrits en langage C, développé au CEA-LIST.
* SPARK : Technologie de vérification formelle
** Adacore : PME éditrice de logiciels spécialisée dans la fourniture d’outils de développement pour les systèmes critiques
Fiche technique
- Equipe-Projet : Toccata
- Licence : LGPL
- Langage : OCaml
Suivre l'actualité du logiciel :