On the Verification Problems for Concurrent Programs : Decidability and Complexity
Auteur / Autrice : | Mohamed Faouzi Atig |
Direction : | Ahmed Bouajjani, Tayssir Touili |
Type : | Thèse de doctorat |
Discipline(s) : | Informatique |
Date : | Soutenance en 2010 |
Etablissement(s) : | Paris 7 |
Mots clés
Mots clés contrôlés
Résumé
Cette thèse porte sur la vérification des programmes concurrents, en nous intéressant en particulier à l'étude la décidabilité et la complexité des problèmes d'accessibilité. Dans la plus grande partie de cette thèse, nous considérons des programmes concurrents où les processus séquentiels correspondent à des threads pouvant faire des appels de procédures (potentiellement récursives). La difficulté vient de l'interaction entre la récursivité et de la concurrence qui rend le problème de l'accessibilité indécidable en général. Nous étudions alors les conditions sous lesquelles ce problème devient décidable. Ces conditions peuvent être vues comme des contraintes à poser sur l'ordonnancement des actions le long des exécutions du programme analysé. Ainsi, les résultats de décidabilité peuvent être utilisés pour définir des procédures d'analyse sous-approchée permettant de détecter de manière efficace des comportements illicites des programmes. Dans un second temps, nous nous intéressons aux programmes s'exécutant selon un modèle faible de la mémoire partagée (weak memory model). Dans de tels programmes, l'ordre entre les actions d'un même processus est relâché pour des besoins de performance en permettant la permutation entre certains types d'actions. Cela rend alors le conception des programmes concurrents encore plus difficile du fait que la sémantique de la concurrence devient hautement complexe et contre-intuitive. Nos travaux montrent qu'en effet selon le type des relaxations d'ordre entre actions, le problème de l'accessibilité peut être décidable mais hautement complexe dans certains cas, et il peut même être indécidable dans d'autres.