Serviceeinschränkungen vom 12.-22.02.2026 - weitere Infos auf der UB-Homepage

Treffer: Static analysis of embedded multithreaded programs ; Analyse statique de programmes parallèles

Title:
Static analysis of embedded multithreaded programs ; Analyse statique de programmes parallèles
Contributors:
École normale supérieure - Cachan (ENS Cachan), École normale supérieure de Cachan - ENS Cachan, Jean Goubault-Larrecq
Source:
https://tel.archives-ouvertes.fr/tel-01199739 ; Computer science. École normale supérieure de Cachan - ENS Cachan, 2010. English. ⟨NNT : 2010DENS0018⟩.
Publisher Information:
HAL CCSD
Publication Year:
2010
Collection:
Archive ouverte HAL (Hyper Article en Ligne, CCSD - Centre pour la Communication Scientifique Directe)
Document Type:
Dissertation doctoral or postdoctoral thesis
Language:
English
Rights:
info:eu-repo/semantics/OpenAccess
Accession Number:
edsbas.67D08CB1
Database:
BASE

Weitere Informationen

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