Thèse soutenue

Analyse statique de programmes parallèles

FR  |  
EN
Auteur / Autrice : Jean-Loup Carré
Direction : Jean Goubault-Larrecq
Type : Thèse de doctorat
Discipline(s) : Informatique
Date : Soutenance en 2010
Etablissement(s) : Cachan, Ecole normale supérieure

Résumé

FR  |  
EN

Cette thèse présente un algorithme d'analyse statique pour des programmes parallèles. Il généralise des techniques d'interprétation abstraite utilisée dans le cas de programmes sans parallélisme et permet de détecter des erreurs d'exécution, exempli gratia, les déréférencements de pointeur invalide, les débordements de tableaux, les débordements d'entiers. Nous avons implémenté cet algorithme. Il analyse un code industriel de taille conséquente (100 000 lignes de code) en quelques heures. Notre technique est modulaire, elle peut utiliser n'importe quel domaine abstrait créé pour le cas de programmes non-parallèles. En outre, sans change le calcul du point fixe, certains de nos domaines abstraits. Permettent la détection de data-races ou de deadlocks. Cette technique ne présuppose pas la consistance séquentielle (i. E. Ne présuppose pas que l'exécution d'un programme parallèle est l'entrelacement de l'exécution de sous-programmes) puisque, en pratique (les processeurs INTEL et SPARC, JAVA,. . . ) l'exécution des programmes n'est pas séquentiellement consistante. Exempli gratia notre technique fonctionne avec les modèles TSO (Total Store Ordering) et PSO (Partial Store Ordering).