Quasi optimal model checking for concurrent systems

par Thi Thanh Huyen Nguyen

Thèse de doctorat en Informatique

Sous la direction de Laure Petrucci.

Soutenue le 21-12-2018

à Sorbonne Paris Cité , dans le cadre de École doctorale Galilée (Villetaneuse, Seine-Saint-Denis) , en partenariat avec Laboratoire informatique de Paris-Nord (Villetaneuse, Seine-Saint-Denis) (laboratoire) et de Université Paris 13 (Etablissement de préparation) .

Le président du jury était Tayssir Touili.

Le jury était composé de Benoît Barbot, Camille Coti, Fabrice Kordon, César Rodríguez.

Les rapporteurs étaient Thomas Chatain, Franck Pommereau.

  • Titre traduit

    Vérification de modèle quasi-optimale de systèmes concurrents


  • Résumé

    En effectuant une exploration exhaustive de tous les comportements possibles du système, le model checking fait face au problème de l’explosion de cet espace d’états. Notre but est de vérifier des programmes concurrents. Nous avons proposé de combiner la DPOR et le dépliage dans un algorithme appelé POR basée sur le dépliage. Dans cette thèse, nous prouvons que le calcul des alternatives dans une DPOR optimale est un problème NP-complet. Nous proposons une approche hybride appelée réduction d’ordre partiel quasi-optimale (QPOR). En particulier, nous proposons une nouvelle notion d’alternative k-partielle et un algorithme en temps polynomial. Une autre contribution algorithmique de cette thèse est la représentation des relations de causalité et de conflit dans le dépliage comme un ensemble d’arbres dans lequel les événements sont encodés comme un ou deux nœuds dans deux arbres différents. Nous montrons que vérifier la causalité et le conflit entre deux événements revient à une traversée efficace d’un des deux arbres. Nous détaillons l’implémentation de l’algorithme et les structures de données utilisées dans un nouvel outil. Outre les améliorations algorithmiques garanties par QPOR, la parallélisation est un autre moyen d’accélérer l’exploration. Par conséquent, nous proposons un algorithme de QPOR parallèle. Enfin, nous présentons des expériences sur l’implémentation séquentielle de QPOR et comparons les résultats avec d’autres outils de test et de vérification afin d’évaluer l’efficacité de nos algorithmes. L’analyse des résultats montre que notre outil présente de meilleures performances que ceux-ci.


  • Résumé

    By exhaustively exploring all possible behaviours of the system, model checking has to face the state space explosion problem. We target the verification of concurrent programs. Dynamic partial-order reduction (DPOR), is a mature approach to mitigate the state explosion problem based on Mazurkiewicz trace theory, whereas unfolding is still at an initial state for targetting programs. We propose to combine DPOR and unfolding into an algorithm called Unfolding based POR. In order to obtain optimality, the algorithm is forced to compute sequences of transitions known as alternatives. In this thesis, we prove that computing alternatives in optimal DPOR is an NP-complete problem. As a trade-off solution, we propose a hybrid approach called Quasi-Optimal POR (QPOR). In particular, we provide a new notion of k-partial alternative and a polynomial algorithm to compute alternative executions. Another main algorithmic contribution is to represent causality and conflict as a set of trees where events are encoded as one or two nodes in two different trees. We show that checking causality and conflict between events amounts to an efficient traversal in one of these trees. We also implement the algorithm and data structures in a new tool. Besides the algorithmic improvements guaranteed by QPOR, parallelization is another way to speed up the unfolding exploration, thus we propose a parallel algorithm based on parallelizing QPOR. Finally, we conduct experiments on the sequential implementation of QPOR and compare the results with other state-of-art testing and verification tools to evaluate the efficiency of our algorithms. The analysis shows that our tool outperforms them.


Il est disponible au sein de la bibliothèque de l'établissement de soutenance.

Consulter en bibliothèque

La version de soutenance existe

Où se trouve cette thèse\u00a0?

  • Bibliothèque : Université Paris 13 (Villetaneuse, Seine-Saint-Denis). Bibliothèque universitaire.
Voir dans le Sudoc, catalogue collectif des bibliothèques de l'enseignement supérieur et de la recherche.