Nouvelles techniques de Model Checking pour la vérification de systèmes complexes - Archive ouverte HAL
Article Dans Une Revue Génie logiciel : le magazine de l'ingénierie du logiciel et des systèmes Année : 2004

Nouvelles techniques de Model Checking pour la vérification de systèmes complexes

Yann Thierry-Mieg
Souheib Baarir
Alexandre Duret-Lutz
Fabrice Kordon

Résumé

Les tests et la simulation contribuent depuis longtemps à la validation de systèmes. Cependant, ces techniques ne permettent d’explorer qu’une partie des comportements possibles. Elles diffèrent en cela des techniques de vérification formelle, qui garantissent qu’une propriété est vérifiée par la totalité des exécutions possibles du système. Les deux principales techniques de vérification formelle sont la preuve et le model checking. Dans la première un modèle du système à vérifier est vu comme un ensemble d’axiomes qui servent à prouver une propriété. Cette technique n’est pas automatique ; des outils d’aide à la preuve existent mais demandent une forte expertise. Le model checking, introduit il y a 20 ans, regroupe plusieurs techniques entièrement automatiques dans lesquelles la propriété à vérifier est testée de façon exhaustive sur l’ensemble des exécutions possibles du système. Les différentes techniques de model checking diffèrent par leur façon de représenter ces ensembles (infinis) d’exécutions. Citons le model checking dit symbolique, qui travaille de façon ensembliste sur les configurations que peut prendre le système, et le model checking par l’approche automate [8], dans lequel l’ensemble des exécutions du système ainsi que la propriété sont représentés par des automates. C’est à cette dernière technique que nous nous intéressons ici. Nous présenterons cette approche automate section 2, et expliquerons son principal inconvénient : l’explosion de l’espace d’état [7], qui limite la taille de systèmes vérifiables. En dépit de cet obstacle, le model checking est utilisé avec succès pour la vérification de circuits, aussi bien que pour la vérification de programmes. L’objectif de cet article est de montrer deux nouvelles méthodes réduisant cet espace d’états en exploitant ses symétries, afin de pouvoir traiter des systèmes plus importants. Ces techniques sont le graphe quotient (section 3), et le produit synchronisé symbolique (section 4). Section 5 nous évaluons ces deux méthodes sur un exemple conséquent à l’aide de nos outils.
Fichier non déposé

Dates et versions

hal-01175956 , version 1 (13-07-2015)

Identifiants

  • HAL Id : hal-01175956 , version 1

Citer

Yann Thierry-Mieg, Souheib Baarir, Alexandre Duret-Lutz, Fabrice Kordon. Nouvelles techniques de Model Checking pour la vérification de systèmes complexes. Génie logiciel : le magazine de l'ingénierie du logiciel et des systèmes, 2004, 69, pp.17-23. ⟨hal-01175956⟩
122 Consultations
0 Téléchargements

Partager

More