Quantitative and algorithmic analysis of concurrent programs
Analyse quantitative et algorithmique des programmes concurrents
Résumé
In this thesis, we study the state space of concurrent programs using the tools from analytic combinatorics. In a first part, we analyse a class of programs featuring parallelism, non-deterministic choices, loops and a fork-join style of synchronisation. For this class, we propose quantitative results regarding the explosion of the state space as well as efficient algorithmic tools for the uniform random generation of executions. In a second part, we study a new class of directed acyclic graphs whose purpose is to approximate partial orders, which are themselves a good model for the control flow of concurrent programs. For this class, we develop an efficient uniform random sampler of graphs with a given number of edges and vertices. Finally, we also study algorithmic and practical aspects of random generation in general whose field of application goes beyond the scope of concurrency.
Dans cette thèse nous étudions l'espace d'état des programmes concurrents à l'aide des outils de la combinatoire analytique. Dans un premier temps nous analysons une classe de programmes utilisant du parallélisme, du choix non déterministe, des boucles et de la synchronisation de type fork-join. Pour cette classe nous proposons des résultats quantitatifs sur l'explosion combinatoire de l'espace d'état et des outils algorithmiques efficaces de génération aléatoire uniforme d'exécutions. Dans un second temps nous étudions une nouvelle classe de graphes dirigés sans cycles en tant qu'approximation des ordres partiels, eux mêmes modélisant fidèlement le flot de contrôle des programmes concurrents. Pour cette classe nous proposons un algorithme de génération aléatoire uniforme efficace à nombre de sommets et d'arêtes fixés. Finalement, nous étudions aussi des aspects algorithmiques et pratiques de la génération aléatoire dont le champ d'application dépasse le cadre de la concurrence.
Origine : Version validée par le jury (STAR)