
Abstract lattices for the verification of systèmes with stacks and queues Tristan Le Gall To cite this version: Tristan Le Gall. Abstract lattices for the verification of systèmes with stacks and queues. Software Engineering [cs.SE]. Université Rennes 1, 2008. English. tel-00424552 HAL Id: tel-00424552 https://tel.archives-ouvertes.fr/tel-00424552 Submitted on 16 Oct 2009 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. No d’ordre: 3755 THESE` Pr´esent´ee devant l’Universit´ede Rennes 1 pour obtenir le grade de : Docteur de l’Universite´ de Rennes 1 Mention Informatique par Tristan Le Gall Equipe´ d’accueil : VerTeCS - IRISA Ecole´ Doctorale : Matisse Composante universitaire : IFSIC Titre de la th`ese : Abstract Lattices for the Verification of Systems with Queues and Stacks Soutenue le 2 juillet 2008 devant la commission d’examen M. : Olivier Ridoux Pr´esident MM. : Ahmed Bouajjani Rapporteurs Jean-Fran¸cois Raskin MM. : Bertrand Jeannet Examinateurs Gr´egoire Sutre Thierry Jeron Remerciements Je remercie Ahmed Bouajjani et Jean-Fran¸cois Raskin pour avoir accept´ede lire cette th`ese et d’en ˆetre les rapporteurs. C’est un honneur d’avoir dans mon jury des chercheurs si connus dans le domaine de la v´erification des syst`emes infinis. Je remercie Olivier Ridoux pour avoir accept´ede pr´esider mon jury de soutenance. Je le remercie ´egalement pour m’avoir encadr´edurant ma maˆıtrise d’informatique, pour un stage qui m’a donn´eun premier aper¸cu du monde de la recherche. Je remercie Gr´egoire Sutre pour m’avoir accueilli bri`evement `aBordeaux, et pour avoir accept´ede faire partie de ce jury de th`ese. J’esp`ere que notre collaboration scientifique sera fructueuse. Je remercie Bertrand Jeannet pour m’avoir encadr´e, aussi bien de pr`es, `aRennes, que de loin, depuis Grenoble. Merci pour m’avoir soutenu dans mes moments de doute, et pour avoir travaill´eavec moi pendant plus de quatre ans (et ce n’est pas fini, je l’esp`ere). Je suis son premier th´esard et, troublante co¨ıncidance, il est mon premier directeur de th`ese. Comme quoi le hasard fait bien les choses. Je remercie Thierry J´eron pour son soutien, son ´ecoute et sa patience aussi bien comme directeur de th`ese que comme chef d’´equipe. Il a ´et´e disponible autant que possible, et je sais que c’est une qualit´eassez rare parmis les chercheurs ayant comme lui autant de charges administratives et de charges d’encadrement. Je remercie aussi les autres membres de l’´equipe Vertecs pour m’avoir support´e pendant presque quatre ans: Camille, Nathalie, Patricia (si si tu es dans Vertecs), Christophe, Florimond, Gwena¨el, Hatem, Herv´e, J´er´emy, Vlad, Wassim. Rares sont les ´equipes de recherche o`ur`egne une ambiance aussi bonne, aussi agr´eable pour travailler. Je remercie ´egalement Thierry Massart et Gabriel Kalyon, qui sont venus `aRennes si longtemps que l’on peut les d´eclarer membres de l’´equipe Vertecs/antenne bruxelloise. 1 2 Remerciements Contents Remerciements 1 Table of contents 3 R´esum´edes travaux de th`ese 7 Introduction 21 1 Preliminaries 25 1.1 Transition Systems and Communicating Finite-State Machines . 25 1.1.1 TransitionSystems. 25 1.1.2 Communicating Finite-State Machines . 27 1.2 Verification of Safety Properties . 29 1.2.1 InvarianceProperties. 29 1.2.2 Observers ............................... 30 1.2.3 Beyond Safety Properties . 31 1.2.4 Summary ............................... 32 1.3 PartialOrdersandLattices . 33 1.4 AbstractInterpretation . 35 1.5 Regular Languages and Finite Automata . 39 1.6 Conclusion .................................. 43 2 Acceleration Techniques for FIFO Channel Systems and Extrapola- tions of Sequences of Automata 45 2.1 Accelerations Techniques for the Analysis of FIFO Channels Systems . 46 2.1.1 Principle of Acceleration Techniques . 46 2.1.2 Queue-Contents Decision Diagrams . 48 2.1.3 Constrained Queue-Contents Decision Diagrams . 50 2.1.4 SimplyRegularExpressions . 52 2.1.5 Semi-Linear Regular Expressions . 53 2.2 Extrapolation of a Sequence of Automata . 53 2.2.1 VerificationofPushdownSystems . 53 2.2.2 Transducers and Regular Model Checking . 56 2.2.3 Extrapolation of an Increasing Sequence of Transducers ..... 59 3 4 Contents 2.2.4 Verification of Linear Networks of Processes . 61 2.3 Conclusion .................................. 63 3 Regular Languages as an Abstract Lattice 65 3.1 The Lattice of Regular Languages . 65 3.1.1 Classical Operations and Abstraction . 66 3.1.2 The Widening Operator ∇k ..................... 67 3.1.3 Effects of the Widening Operator . 70 3.2 Approximated Reachability Analysis of CFSMs . ..... 72 3.2.1 Analysis of CFSMs with a Single Queue . 72 3.2.2 Analysis of CFSMs with Several Queues . 74 3.2.3 A Non-Relational Lattice . 75 3.2.4 A Relational Lattice . 75 3.3 Applications.................................. 77 3.3.1 Examples of Protocols and their Analyses . 78 3.3.2 Comparison with Acceleration Techniques . 82 3.3.3 Beyond Reachability Analysis . 83 3.4 Conclusion .................................. 84 4 Lattice Automata 87 4.1 DefinitionandDiscussion . 88 4.1.1 BasicDefinition............................ 89 4.1.2 Discussion............................... 90 4.1.3 Partitioned Lattice Automata . 91 4.2 NormalizationofPLAs............................ 95 4.2.1 Merging................................ 95 4.2.2 Determinization . 96 4.2.3 Minimization ............................. 99 4.2.4 Refinement of the Partitioning Function . 102 4.3 OperationsonPLAs ............................. 103 4.3.1 SetOperations ............................ 103 4.3.2 OtherLanguageOperations . 105 4.3.3 WideningonNLAs. .. .. .. .. .. .. .. .. .. 107 4.3.4 NLAs as an Abstract Domain . 109 4.4 Conclusion .................................. 110 5 Applications : Verification of Symbolic Communicating Machines and Interprocedural Analysis 113 5.1 Verification of Symbolic Communicating Machines . 113 5.1.1 Symbolic Communicating Machines . 113 5.1.2 SCMs with a Single Queue: a Straightforward Approach . 115 5.1.3 SCMs with a Single Queue: Linking Messages and State Variables 117 5.1.4 SCMswithSeveralQueues . 120 5.1.5 LossyChannelsandTimersintheSCMModel . 120 Contents 5 5.2 Application to Interprocedural Analysis . 122 5.2.1 Program Model and Semantics . 122 5.2.2 Abstracting Call-Stacks with Lattice Automata . 126 5.2.3 AnInterproceduralAnalyzer . 129 5.2.3.1 Implementation in an interprocedural analyzer . 129 5.2.3.2 Two toy examples . 129 5.2.3.3 The MacCarthy91 function . 132 5.2.3.4 Discussion ......................... 134 5.2.4 RelatedWork............................. 135 5.3 Conclusion .................................. 136 6 Implementation 141 6.1 TheLatticeAutomataLibrary . 141 6.1.1 DescriptionoftheLibrary. 142 6.1.2 The Representation of the Partitioned Lattice . 142 6.1.3 Lattice Automata Modules . 143 6.1.4 Interfaces for Queues and Stacks . 144 6.2 TheSCMAnalyzer.............................. 144 6.2.1 InputLanguage............................ 144 6.2.2 Description of the Software . 146 6.2.3 Examplesofanalyses. 147 Conclusion 151 Bibliography 154 List of figures 163 6 Contents R´esum´edes travaux de th`ese Nota Bene: This is an ”extended summary” of the document, in french, which is mandatory since the thesis is written in english. La v´erification de syst`emes informatiques complexes est actuellement un domaine de recherche tr`es actif en informatique fondamentale. En t´emoigne la r´ecente attribution du prix Turing `atrois chercheurs de ce domaine : Edmund Clarke, Allen Emerson et Joseph Sifakis. La v´erification des syst`emes dits infinis est un probl`eme ardu, car il s’agit de d´eter- miner quels sont les comportements possibles d’un syst`eme ayant un nombre tr`es grand, voire infini, de configurations possibles. Pour d´eterminer ces comportements, on est amen´e`acalculer, `apartir d’un ensemble de configurations de d´epart C0, l’ensemble des configurations accessibles en une ´etape, Post(C0), puis en un nombre d’´etapes quel- ∗ conque, Post (C0), appel´eensemble d’atteignabilit´e. Plusieurs types de m´ethodes symboliques sont utilis´ees pour v´erifier, ou tenter de v´erifier, ces syst`emes infinis. Nous en d´etaillerons deux. La premi`ere, ce sont les techniques d’acc´el´eration. A` la fin des ann´ees 1990, elles ont ´et´eutilis´ees pour v´erifier des syst`emes avec des files de communication, avec un certain succ`es. Toutefois, elles ont le d´efaut de ne proposer que des semi-algorithmes, c’est-`a-dire des algorithmes qui donnent le bon r´esultat, quand ils terminent, sachant que leur terminaison n’est pas garantie. Nous d´etaillerons plus loin ces techniques d’acc´el´eration pour les syst`emes communiquant par files avec une politique FIFO (first in - first out). La seconde famille de techniques est appel´ee l’interpr´etation abstraite. On part du ∗ constat que l’ensemble Post (C0) s’exprime comme ´etant le plus petit point-fixe de la fonction X 7→ C0 ∪ Post(X). L’id´ee est alors de calculer une approximation de cet ensemble non pas dans l’ensemble des ensembles d’´etats (le treillis concret), mais dans un ensemble plus simple, appel´etreillis abstrait. Il est parfois n´ecessaire de disposer, dans ce treillis abstrait, d’un op´erateur d’´elargissement ∇. Le principal sujet de recherche de cette th`ese est de v´erifier des syst`emes infinis avec des files FIFO ou des piles par interpr´etation abstraite. Les syst`emes avec file FIFO seront mod´elis´es par des automates communicants (CFSM en anglais), comme par exemple celui repr´esent´esur la figure 1.
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages171 Page
-
File Size-