Weakly Relational Numerical Abstract Domains
308 pages
English

Weakly Relational Numerical Abstract Domains

-

Le téléchargement nécessite un accès à la bibliothèque YouScribe
Tout savoir sur nos offres

Description

`THESE
pr´esent´ee a`
´l’ECOLE POLYTECHNIQUE
pour l’obtention du titre de
´DOCTEUR DE L’ECOLE POLYTECHNIQUE
EN INFORMATIQUE
´Antoine MINE
6 d´ecembre 2004
Domaines num´eriques abstraits
faiblement relationnels
Weakly Relational Numerical Abstract Domains
Pr´esident: Chris Hankin
Professeur, Imperial College, Londres
Rapporteurs: Roberto Giacobazzi
Professeur, Universita` degli Studi di Verona
Helmut Seidl
Professeur, Technische Universitat Munchen¨ ¨
Examinateur: Nicolas Halbwachs
Directeur de recherche CNRS, VERIMAG, Grenoble
Directeur de th`ese: Patrick Cousot
´Professeur, Ecole Normale Sup´erieure, Paris
´Ecole Normale Sup´erieure
D´epartement d’Informatique cAntoine Min´e, 2004.
´Cette recherche a ´et´e conduite `a l’Ecole Normale Sup´erieure de Paris durant un contrat
d’allocationcoupl´ee(normalien)del’Universit´eParisIXDauphine. Cetterecherchea´et´efi-
nanc´eeenpartieparlesprojetsDaedalus(projeteurop´eenIST-1999-20527duprogramme
´FP5) et Astree (projet franc¸ais RNTL).
Lesopinionspr´esent´eesdanscedocumentsontcellespropresdesonauteuretnerefl`etenten
´ ´aucun cas celles de l’Ecole Polytechnique, de l’Universit´e Parix IX Dauphine, ou de l’Ecole
Normale Sup´erieure de Paris. ´ ´RESUME iii
R´esum´e
Le sujet de cette th`ese est le d´eveloppement de m´ethodes pour l’ana-
lyse automatique des programmes informatiques. Une des applications
majeures est la conception d’outils pour d´ecouvrir les erreurs de pro-
grammation avant qu’elles ne se produisent, ce qui est crucial ...

Sujets

Informations

Publié par
Nombre de lectures 101
Langue English
Poids de l'ouvrage 2 Mo
`THESE pr´esent´ee a` ´l’ECOLE POLYTECHNIQUE pour l’obtention du titre de ´DOCTEUR DE L’ECOLE POLYTECHNIQUE EN INFORMATIQUE ´Antoine MINE 6 d´ecembre 2004 Domaines num´eriques abstraits faiblement relationnels Weakly Relational Numerical Abstract Domains Pr´esident: Chris Hankin Professeur, Imperial College, Londres Rapporteurs: Roberto Giacobazzi Professeur, Universita` degli Studi di Verona Helmut Seidl Professeur, Technische Universitat Munchen¨ ¨ Examinateur: Nicolas Halbwachs Directeur de recherche CNRS, VERIMAG, Grenoble Directeur de th`ese: Patrick Cousot ´Professeur, Ecole Normale Sup´erieure, Paris ´Ecole Normale Sup´erieure D´epartement d’Informatique cAntoine Min´e, 2004. ´Cette recherche a ´et´e conduite `a l’Ecole Normale Sup´erieure de Paris durant un contrat d’allocationcoupl´ee(normalien)del’Universit´eParisIXDauphine. Cetterecherchea´et´efi- nanc´eeenpartieparlesprojetsDaedalus(projeteurop´eenIST-1999-20527duprogramme ´FP5) et Astree (projet franc¸ais RNTL). Lesopinionspr´esent´eesdanscedocumentsontcellespropresdesonauteuretnerefl`etenten ´ ´aucun cas celles de l’Ecole Polytechnique, de l’Universit´e Parix IX Dauphine, ou de l’Ecole Normale Sup´erieure de Paris. ´ ´RESUME iii R´esum´e Le sujet de cette th`ese est le d´eveloppement de m´ethodes pour l’ana- lyse automatique des programmes informatiques. Une des applications majeures est la conception d’outils pour d´ecouvrir les erreurs de pro- grammation avant qu’elles ne se produisent, ce qui est crucial `a l’heure ou` des tˆaches critiques mais complexes sont confi´ees `a des ordinateurs. Nous nous pla¸cons dans le cadre de l’interpr´etation abstraite, qui est une th´eorie de l’approximation surˆ e des s´emantiques de programmes, et nous nous int´eressons en particulier aux domaines num´erique abstraits sp´ecialis´es dans la d´ecouverte automatique des propri´et´es des variables num´erique d’un programme. Danscetteth`ese,nousintroduisonsplusieursnouveauxdomainesnum´e- riques abstraits et, en particulier, le domaine des zones (permettant de d´ecouvrirdesinvariantsdelaformeX−Y ≤c),deszonesdecongruence (X ≡Y +a[b])etdesoctogones(±X±Y ≤c).Cesdomainessontbas´es sur les concepts existants de graphe de potentiel, de matrice de diff´e- rences born´ees et sur l’algorithmique des plus courts chemins. Ils sont interm´ediaires, en terme de pr´ecision et de coutˆ , entre les domaines non relationnels (tel celui des intervalles), tr`es peu pr´ecis, et les domaines relationnels classiques (tel celui des poly`edres), tr`es coutˆ eux. Nous les nommons « faiblement relationnels ». Nous pr´esentons ´egalement des m´ethodes permettant d’appliquer les domaines relationnels `a l’analyse denombres`avirguleflottante,jusqu’a`pr´esentuniquementr´ealisablepar des domaines non relationnels donc peu pr´ecis. Enfin, nous pr´esentons des m´ethodes g´en´eriques dites de « lin´earisation » et de « propagation de constantes symboliques » permettant d’am´eliorer la pr´ecision de tout domaine num´erique, pour un surcouˆt r´eduit. ´Lesm´ethodesintroduitesdanscetteth`eseont´et´eint´egr´ees`aAstree,un analyseur sp´ecialis´e dans la v´erification de logiciels embarqu´es critiques etsesontr´ev´el´eesindispensablepourprouverl’absenced’erreurs`al’ex´e- cutiondelogicielsdecommandede vol´electriquepourlesavionsAirbus A340etA380.Cesr´esultatsexp´erimentauxviennentjustifierl’int´erˆetde nos m´ethodes pour des cadres d’applications r´eelles. Antoine Mine´ Ph. D. – Weakly Relational Numerical Abstract Domains ´ ´iv RESUME Th`ese – Domaines num´eriques abstraits faiblement relationnels Antoine Mine´ ABSTRACT v Abstract The goal of this thesis is to design techniques related to the automatic analysisofcomputerprograms. Onemajorapplicationisthecreationof tools to discover bugs before they actually happen, an important goal in a time when critical yet complex tasks are performed by computers. We will work in the Abstract Interpretation framework, a theory of sound approximation of program semantics. We will focus, in particular, on numerical abstract domains that specialise in the automatic discovery of properties of the numerical variables of programs. In this thesis, we introduce new numerical abstract domains: the zone abstract domain (that can discover invariants of the form X−Y ≤ c), the zone congruence domain (X ≡ Y +a[b]), and the octagon domain (±X±Y ≤ c), among others. These domains rely on the classical no- tions of potential graphs, difference bound matrices, and algorithms for the shortest-path closure computation. They are in-between, in terms of cost and precision, between non-relational domains (such as the in- terval domain), that are very imprecise, and classical relational domains (suchasthepolyhedrondomain),thatareverycostly. Wewillcallthem “weaklyrelational”. Wealsointroducesomemethodstoapplyrelational domains to the analysis of floating-point numbers, which was previously only possible using imprecise, non-relational domains. Finally, we in- troduce so-called “linearisation” and “symbolic constant propagation” generic methods to enhance the precision of any numerical domain, for only a slight increase in cost. The techniques presented in this thesis have been integrated within As- ´tree,ananalyserforcriticalembeddedsoftware,andwereinstrumental inprovingtheabsenceofrun-timeerrorsinfly-by-wiresoftwaresusedin Airbus A340 and A380 planes. Experimental results show the usability of our methods in the context of real-life applications. Antoine Mine´ Ph. D. – Weakly Relational Numerical Abstract Domains vi ABSTRACT Th`ese – Domaines num´eriques abstraits faiblement relationnels Antoine Mine´ ACKNOWLEDGMENTS vii Acknowledgments First of all, I would like to thank deeply my Professor and Ph. D. adviser, Patrick Cousot. He introduced me to the field of program semantics through the rewarding and en- lightening way of Abstract Interpretation, and then, allowed me to join him in the search for better abstractions. He man- aged to protect my autonomy while supporting my work. Patrick has always had the most respect for his students, considering them as his peer researchers During my thesis, I had the rare opportunity to work on a thrilling ´group project: Astree was at the same time a practical experiment and a theory- stressing challenge. It funnelled my passion for programming in a way supple- menting my theoretical research. Its astounding and repeated successes strength- ened my faith in times of disillusionment. I would like to thank all the members of the“magic team”for sharing with me this experience: Bruno Blanchet, Patrick Cousot, Radhia Cousot, J´erˆome Feret, Laurent Mauborgne, David Monniaux, and Xavier Rival An additional acknowledgment goes to Bruno and Patrick for their ´proof-reading of this thesis. The Astree project would not have been possible without the support and the trust from Famantanantsoa Randimbivololona and JeanSouyrisatAirbus. Iamgladtheyactuallydidbuyusthepromiseddinner I `emealso thank the bakers at the“Boulange V ”, the official sandwich supplier for the “magicteam” Ishallnotforgettothankmyestimatedcolleguesandfriendsfrom Radhia’s“sister team”: Charles Hymans, Francesco Logozzo, Damien Mass´e, ´and Elodie-Jane Sims A well-balanced live cannot include only work and I found also much support during my “off-line” time. This is why I would like to thank my parents and all my sisters: Judith, Garance, and Manu`ele. Last but not least, I wish to thank C´ecile; she was always supporting and never resented my days and nights spent in front of the computer... Antoine Mine´ Ph. D. – Weakly Relational Numerical Abstract Domains viii ACKNOWLEDGMENTS Th`ese – Domaines num´eriques abstraits faiblement relationnels Antoine Mine´ CONTENTS ix Contents Title Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . i R´esum´e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iii Abstract . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . v Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii Table of Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix 1 Introduction 1 1.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2 Key Concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.3 Overview of the Thesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.4 Our Contribution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2 Abstract Interpretation of Numerical Properties 5 2.1 General Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.2 Abstract Interpretation Primer . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.2.1 Galois Connection Based Abstract Interpretation . . . . . . . . . . . 8 2.2.2 Concretisation-Based Abstract Interpretation . . . . . . . . . . . . . 11 2.2.3 Partial Galois Connections . . . . . . . . . . . . . . . . . . . . . . . 11 2.2.4 Fixpoint Computation . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.2.5 Chaotic Iterations . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 2.2.6 Reduced Product . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 2.2.7 Related Work in Abstract Interpretation Theory . . . . . . . . . . . 20 2.3 The Simple Language . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 2.3.1 Language Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 2.3.2 Concrete Semantics . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 2.3.3 A Note on Missing Features . . . . . . . . . . . . . . . . . . . . . . . 26 2.4 Discovering Properties of Numerical Variables . . . . . . . . . . . . . . . . . 26 2.4.1 Numerical Abstract Domains . . . . . . . . . . . . . . . . . . . . . . 27 2.4.2 Abstract Interpretor . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 2.4.3 Fall-Back Transfer Functions . . . . . . . . . . . . . . . . . . . . . . 29 2.4.4 Non-Relational Abstract Domains . . . . . . . . . . . . . . . . . . . 29 2.4.5 Overview of Existing Numerical Abstract Domains . . . . . . . . . . 34 2.4.6 The Interval Abstract Domain . . . . . . . . . . . . . . . . . . . . . 37 Antoine Mine´ Ph. D. – Weakly Relational Numerical Abstract Domains x CONTENTS 2.4.7 The Polyhedron Abstract Domain . . . . . . . . . . . . . . . . . . . 40 2.5 The Need for Relational Domains . . . . . . . . . . . . . . . . . . . . . . . . 41 2.6 Other Applications of Numerical Abstract Domains. . . . . . . . . . . . . . 43 3 The Zone Abstract Domain 47 3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 3.2 Constraints and Their Representation . . . . . . . . . . . . . . . . . . . . . 49 3.2.1 Constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 3.2.2 Representations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 3.2.3 Lattice Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 3.3 Canonical Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 3.3.1 Emptiness Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 3.3.2 Closure Operator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 3.3.3 Closure Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 3.3.4 Incremental Closure . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 3.4 Set-Theoretic Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 3.4.1 Equality Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 3.4.2 Inclusion Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 3.4.3 Union Abstraction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 3.4.4 Intersection Abstraction . . . . . . . . . . . . . . . . . . . . . . . . . 66 3.5 Conversion Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 3.5.1 Conversion Between Zones and Intervals . . . . . . . . . . . . . . . . 67 3.5.2 Conversion Between and Polyhedra . . . . . . . . . . . . . . . 68 3.6 Transfer Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 3.6.1 Forget Operator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 3.6.2 Assignment Transfer Function. . . . . . . . . . . . . . . . . . . . . . 73 3.6.3 Test Transfer Functions . . . . . . . . . . . . . . . . . . . . . . . . . 77 3.6.4 Backwards Assignment Transfer Function . . . . . . . . . . . . . . . 79 3.7 Extrapolation Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 3.7.1 Widenings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 3.7.2 Interaction between the Closure and our Widenings . . . . . . . . . 85 3.7.3 Narrowings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 3.8 Cost Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 3.8.1 Ways to close . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 3.8.2 Hollow Representation . . . . . . . . . . . . . . . . . . . . . . . . . . 89 3.9 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 4 The Octagon Abstract Domain 93 4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 4.2 Modified Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 4.2.1 Octagonal Constraints Encoding . . . . . . . . . . . . . . . . . . . . 94 4.2.2 Coherence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 4.2.3 Lattice Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 Th`ese – Domaines num´eriques abstraits faiblement relationnels Antoine Mine´