Skip to Main content Skip to Navigation
Theses

Méthode de conception de logiciel système critique couplée à une démarche de vérification formelle

Résumé : Avec l'évolution des technologies, la complexité des systèmes informatiques ne cesse de s'accroître. Parmi ces systèmes, on retrouve les logiciels critiques qui doivent offrir une garantie de sûreté de fonctionnement qui s'avère crucial et pour lesquels un dysfonctionnement peut avoir des conséquences graves. Les méthodes formelles fournissent des outils permettant de garantir mathématiquement l'absence de certaines erreurs. Ces méthodes sont indispensables pour assurer les plus hauts niveaux de sûreté. Mais l'application de ces méthodes sur un code système bas niveau se heurte à des difficultés d'ordre pratique et théorique. Les principales difficultés concernent la prise en compte des aspects bas niveau, comme les pointeurs et les interactions avec le matériel spécifique. De plus, le fait que ces systèmes soient concurrents conduit à une augmentation exponentielle du nombre de comportements possibles, ce qui rend plus difficile leur vérification. Dans cette thèse, nous proposons une méthodologie pour la spécification et la vérification par model-checking de ce type de systèmes, en particulier, ceux implémentés en C. Cette méthodologie est basée sur la traduction de la sémantique de C en TLA+, un langage de spécification formel adapté à la modélisation de systèmes concurrents. Nous avons proposé un modèle de mémoire et d'exécution d'un programme C séquentiel en TLA+. En se basant sur ce modèle, nous avons proposé un ensemble de règles de traduction d'un code C en TLA+ que nous avons implémenté dans un outil, appelé C2TLA+. Nous avons montré comment ce modèle peut s'étendre pour modéliser les programmes C concurrents et gérer la synchronisation entre plusieurs processus ainsi que leur ordonnancement. Pour réduire la complexité du model-checking, nous avons proposé une technique permettant de réduire significativement la complexité de la vérification. Cette réduction consiste pour un code C à agglomérer une suite d'instructions lors de la génération du code TLA+, sous réserve d'un ensemble de conditions.Nous avons appliqué la méthodologie proposée dans cette thèse sur un cas d'étude réel issu de l'implémentation d'un micronoyau industriel,sur lequel nous avons vérifié un ensemble de propriétés fonctionnelles. L'application de la réduction a permis de réduire considérablement le temps de la vérification, ce qui la rend utilisable en pratique.Les résultats ont permis d'étudier le comportement du système, de vérifier certaines propriétés et de trouver des bugs indétectables par des simples tests.
Complete list of metadatas

Cited literature [135 references]  Display  Hide  Download

https://tel.archives-ouvertes.fr/tel-01445983
Contributor : Abes Star :  Contact
Submitted on : Wednesday, January 25, 2017 - 2:59:25 PM
Last modification on : Saturday, December 21, 2019 - 3:44:09 AM
Document(s) archivé(s) le : Wednesday, April 26, 2017 - 3:22:14 PM

File

METHNI_Amira-2016.pdf
Version validated by the jury (STAR)

Identifiers

  • HAL Id : tel-01445983, version 1

Collections

Citation

Amira Methni. Méthode de conception de logiciel système critique couplée à une démarche de vérification formelle. Logique en informatique [cs.LO]. Conservatoire national des arts et metiers - CNAM, 2016. Français. ⟨NNT : 2016CNAM1057⟩. ⟨tel-01445983⟩

Share

Metrics

Record views

610

Files downloads

820