Accéder directement au contenu Accéder directement à la navigation
Communication dans un congrès

Discovering properties about arrays in simple programs

Abstract : Array bound checking and array dependency analysis (for parallelization) have been widely studied. However, there are much less results about analyzing properties of array contents. In this paper, we propose a way of using abstract interpretation for discovering properties about array contents in some restricted cases: one-dimensional arrays, traversed by simple "for" loops. The basic idea, borrowed from [GRS05], consists in partitioning arrays into symbolic intervals (e.g., [1,i - 1], [i,i], [i + 1,n]), and in associating with each such interval I and each array A an abstract variable AI; the new idea is to consider relational abstract properties ψ(AI, BI, ...) about these abstract variables, and to interpret such a property pointwise on the interval I: ∀l ∈ I, ψ(A[l], B[l],...). The abstract semantics of our simple programs according to these abstract properties has been defined and implemented in a prototype tool. The method is able, for instance, to discover that the result of an insertion sort is a sorted array, or that, in an array traversal guarded by a "sentinel", the index stays within the bounds.
Type de document :
Communication dans un congrès
Liste complète des métadonnées

Littérature citée [23 références]  Voir  Masquer  Télécharger
Contributeur : Nicolas Halbwachs <>
Soumis le : lundi 16 juin 2008 - 11:11:01
Dernière modification le : vendredi 17 juillet 2020 - 11:48:06
Archivage à long terme le : : vendredi 28 septembre 2012 - 16:05:43


Fichiers produits par l'(les) auteur(s)


  • HAL Id : hal-00288274, version 1



Nicolas Halbwachs, Mathias Péron. Discovering properties about arrays in simple programs. PLDI 2008, Jun 2008, Tucson, United States. pp.339-348. ⟨hal-00288274⟩



Consultations de la notice


Téléchargements de fichiers