Formal Verification of Distributed Algorithms using PlusCal-2

Sabina Akhtar 1
1 VERIDIS - Modeling and Verification of Distributed Algorithms and Systems
Inria Nancy - Grand Est, LORIA - FM - Department of Formal Methods
Résumé : La conception d'algorithmes pour les systèmes concurrents et répartis est subtile et difficile. Ces systèmes sont enclins à des blocages et à des conditions de course qui peuvent se produire dans des entrelacements particuliers d'actions de processus et sont par conséquent difficiles à reproduire. Il est souvent non-trivial d'énoncer précisément les propriétés attendues d'un algorithme et les hypothèses que l'environnement est supposé de satisfaire pour que l'algorithme se comporte correctement. La vérification formelle est une technique essentielle pour modéliser le système et ses propriétés et s'assurer de sa correction au moyen du model checking. Des langages formels tels TLA+ permettent de décrire des algorithmes compliqués de manière assez concise, mais les concepteurs d'algorithmes trouvent souvent difficile de modéliser un algorithme par un ensemble de formules. Dans ce mémoire nous présentons le langage PlusCal-2 qui vise à allier la simplicité de pseudo-code à la capacité d'être vérifié formellement. PlusCal-2 améliore le langage algorithmique PlusCal conçu par Lamport en levant certaines restrictions de ce langage et en y ajoutant de nouvelles constructions. Notre langage est destiné à la description d'algorithmes à un niveau élevé d'abstraction. Sa syntaxe ressemble à du pseudo-code mais il est tout à fait expressif et doté d'une sémantique formelle. Des instances finies d'algorithmes écrits en PlusCal-2 peuvent être vérifiées à l'aide du model checker tlc. La deuxième contribution de cette thèse porte sur l'étude de méthodes de réduction par ordre partiel à l'aide de relations de dépendance conditionnelle et constante. Pour calculer la dépendance conditionnelle pour les algorithmes en PlusCal-2 nous exploitons des informations sur la localité des actions et nous générons des prédicats d'indépendance. Nous proposons également une adaptation d'un algorithme de réduction par ordre partiel dynamique pour une variante du model checker tlc. Enfin, nous proposons une variante d'un algorithme de réduction par ordre partiel statique (comme alternative à l'algorithme dynamique), s'appuyant sur une relation de dépendance constante, et son implantation au sein de tlc. Nous présentons nos résultats expérimentaux et une preuve de correction.
Type de document :
Thèse
Data Structures and Algorithms [cs.DS]. Université de Lorraine, 2012. English. 〈NNT : 2012LORR0014〉
Liste complète des métadonnées

Littérature citée [36 références]  Voir  Masquer  Télécharger

https://tel.archives-ouvertes.fr/tel-01749162
Contributeur : Sabina Akhtar <>
Soumis le : vendredi 19 avril 2013 - 05:49:10
Dernière modification le : mardi 18 décembre 2018 - 16:38:25
Document(s) archivé(s) le : lundi 3 avril 2017 - 07:32:14

Identifiants

  • HAL Id : tel-01749162, version 2

Citation

Sabina Akhtar. Formal Verification of Distributed Algorithms using PlusCal-2. Data Structures and Algorithms [cs.DS]. Université de Lorraine, 2012. English. 〈NNT : 2012LORR0014〉. 〈tel-01749162v2〉

Partager

Métriques

Consultations de la notice

389

Téléchargements de fichiers

713