Static analysis of embedded multithreaded programs

par Jean-Loup Carré

Thèse de doctorat en Informatique

Sous la direction de Jean Goubault-Larrecq.

Soutenue en 2010

à Cachan, Ecole normale supérieure .

  • Titre traduit

    Analyse statique de programmes parallèles


  • Résumé

    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).


  • Résumé

    This Phd thesis presents a static analysis algorithm for programs with threads. It generalizes abstract interpretation techniques used in the single-threaded case and allows to detect runtimes errors, e. G, invalid pointer dereferences, array overflows, integer overflows. We have implemented this algorithm. It analyzes a large industrial multithreaded code (100K LOC) in few hours. Our technique is modular, it uses any abtract domain designed for the single-threaded-case. Furthermore, without any change in the fixpoint computation, sorne abstract domains allow to detect data-races or deadlocks. This technique does not assume sequential consistency, since, in practice (INTEL and SPARC processors, JAVA,. . . ), program execution is not sequentially consistent. E. G, it works in TSO (Total Store ordering) or PSO (Partial Store Ordering) memory models.

Consulter en bibliothèque

La version de soutenance existe sous forme papier

Informations

  • Détails : 1 vol. (197 p.)
  • Notes : Publication autorisée par le jury
  • Annexes : Bibliogr. p. 193-197

Où se trouve cette thèse ?

  • Bibliothèque : École normale supérieure. Bibliothèque.
  • Disponible pour le PEB
  • Cote : THE CAR (Salle de réf.)
  • Bibliothèque : École normale supérieure. Bibliothèque.
  • Disponible pour le PEB
  • Cote : Archives / THE CAR
Voir dans le Sudoc, catalogue collectif des bibliothèques de l'enseignement supérieur et de la recherche.