Static analysis of memory manipulations by abstract interpretation -- Algorithmics of tropical polyhedra, and application to abstract interpretation - PASTEL - Thèses en ligne de ParisTech Accéder directement au contenu
Thèse Année : 2009

Static analysis of memory manipulations by abstract interpretation -- Algorithmics of tropical polyhedra, and application to abstract interpretation

Analyse statique de manipulations de mémoire par interprétation abstraite -- Algorithmique des polyèdres tropicaux, et application à l'interprétation abstraite

Xavier Allamigeon

Résumé

In this thesis, we define a static analysis by abstract interpretation of memory manipulations. It is based on a new numerical abstract domain, which is able to infer program invariants involving the operators min and max. This domain relies on tropical polyhedra, which are the analogues of convex polyhedra in tropical algebra. Tropical algebra refers to the set IR U {-oo} endowed with max as addition and + as multiplication. This abstract domain is provided with sound abstract primitives, which allow to automatically compute over-approximations of semantics of programs by means of tropical polyhedra. Thanks to them, we develop and implement a sound static analysis inferring min- and max-invariants over the program variables, the length of the strings, and the size of the arrays in memory. In order to improve the scalability of the abstract domain, we also study the algorithmics of tropical polyhedra. In particular, a tropical polyhedron can be represented in two different ways, either internally, in terms of extreme points and rays, or externally, in terms of tropically affine inequalities. Passing from the external description of a polyhedron to its internal description, or inversely, is a fundamental computational issue, comparable to the well-known vertex/facet enumeration or convex hull problems in the classical algebra. It is also a crucial operation in our numerical abstract domain. For this reason, we develop two original algorithms allowing to pass from an external description of tropical polyhedra to an internal description, and vice versa. They are based on a tropical analogue of the double description method introduced by Motzkin et al. We show that they outperform the other existing methods, both in theory and in practice. The cornerstone of these algorithms is a new combinatorial characterization of extreme elements in tropical polyhedra defined by means of inequalities: we have proved that the extremality of an element amounts to the existence of a strongly connected component reachable from any node in a directed hypergraph. We also show that the latter property can be checked in almost linear time in the size of the hypergraph. Moreover, in order to have a better understanding of the intrinsic complexity of tropical polyhedra, we study the problem of determining the maximal number of extreme points in a tropical polyhedron. In the classical case, this problem is addressed by McMullen upper bound theorem. We prove that the maximal number of extreme points in the tropical case is bounded by a similar result. We introduce a class of tropical polyhedra appearing as natural candidates to be maximizing instances. We establish lower and upper bounds on their number of extreme points, and show that the McMullen type bound is asymptotically tight when the dimension tends to infinity and the number of inequalities defining the polyhedra is fixed. Finally, we experiment our tropical polyhedra based static analyzer on programs manipulating strings and arrays. These experimentations show that the analyzer successfully determines precise properties on memory manipulations, and that it scales up to highly disjunctive invariants which could not be computed by the existing methods. The implementation of all the algorithms and abstract domains on tropical polyhedra developed in this work is available in the Tropical Polyhedra Library (TPLib).
Fichier principal
Vignette du fichier
thesis.pdf (2.78 Mo) Télécharger le fichier
Loading...

Dates et versions

pastel-00005850 , version 1 (03-05-2010)

Identifiants

  • HAL Id : pastel-00005850 , version 1

Citer

Xavier Allamigeon. Static analysis of memory manipulations by abstract interpretation -- Algorithmics of tropical polyhedra, and application to abstract interpretation. Computer Science [cs]. Ecole Polytechnique X, 2009. English. ⟨NNT : ⟩. ⟨pastel-00005850⟩
460 Consultations
510 Téléchargements

Partager

Gmail Facebook X LinkedIn More