Analyse statique de programmes manipulant des tableaux

Résumé : L’analyse statique de programmes est un domaine crucial en compilation, en optimisation, et en validation de logiciels. Les structures de données complexes (tableaux, listes, graphes...), omniprésentes dans les programmes, posent des problèmes difficiles, du fait qu’elles représentent des ensembles de données de taille importante ou inconnue, et que l’adressage des données dans ces ensembles est calculé (indexation, indirection). La plupart des travaux sur l’analyse des structures de données concernent la vérification de la correction des accès aux données (vérification que les indices d’un tableau sont dans les bornes, que les pointeurs ne sont pas nuls, “shape analysis”). L’analyse du contenu des structures de données est encore peu abordée. A Verimag, ce domaine a été abordé récemment, et a donné lieu à de premiers résultats sur l’analyse de tableaux unidimensionnels. Une méthode d’analyse de programmes simples a été proposée [1], qui permet de découvrir des propriétés des contenus de tableaux, comme par exemple que le résultat d’un programme de tri est bien un tableau trié. Un autre type de propriétés, dites “non positionnelles” a aussi été considéré [2], qui concerne le contenu global d’un tableau, indépendamment de son rangement: par exemple, on montre que le résultat d’un tri est une permutation du tableau initial. Ces premiers résultats sont très encourageants, mais encore embryonnaires. L’objectif du travail de thèse proposé est de les étendre dans plusieurs directions. Notre analyse de propriétés positionnelles est capable de découvrir des relations point- à-point entre des “tranches” de tableaux (ensembles de cellules consécutives). Les extensions envisagées concernent les tableaux multidimensionnels, les ensembles de cellules non nécessairement consécutives, et les structures de données plus générales. Concernant les propriétés non positionnelles, les premiers résultats sont limités aux égalités de contenus de tableaux. Ils doivent être étendus à des relations plus complexes (inclusions, sommes disjointes...) et à d’autres structures de données. Ce travail prend place dans le projet ASOPT (“Analyse statique et optimisation”), accepté dans le programme Arpège de l’ANR en 2008. Références : [1] N. Halbwachs, M. Péron. Discovering properties about arrays in simple programs. ACM Conference on Programming Language Design and Implementation, PLDI 2008. Tucson (Az.), juin 2008. [2] V. Perrelle. Analyse statique du contenu de tableaux, propriétés non positionnelles. Rapport de M2R, Master Parisien de Recherche en Informatique, septembre 2008.
Type de document :
Thèse
Autre [cs.OH]. Université de Grenoble, 2013. Français. 〈NNT : 2013GRENM085〉
Liste complète des métadonnées

Littérature citée [77 références]  Voir  Masquer  Télécharger

https://tel.archives-ouvertes.fr/tel-00973892
Contributeur : Abes Star <>
Soumis le : mardi 27 juin 2017 - 15:16:24
Dernière modification le : jeudi 29 juin 2017 - 01:04:57

Fichier

23110_PERRELLE_2013_diffusion....
Fichiers produits par l'(les) auteur(s)

Identifiants

  • HAL Id : tel-00973892, version 2

Collections

IMAG | UGA

Citation

Valentin Perrelle. Analyse statique de programmes manipulant des tableaux. Autre [cs.OH]. Université de Grenoble, 2013. Français. 〈NNT : 2013GRENM085〉. 〈tel-00973892v2〉

Partager

Métriques

Consultations de la notice

124

Téléchargements de fichiers

39