Analyse symbolique de systèmes infinis basée sur les automates: Application à la vérification de systèmes paramétrés et dynamiques

Nous nous interessons dans cette these au model-checking des systemes infinis, notamment les systemes parametres et les programmes recursifs paralleles. Nous presen\-tons un cadre uniforme pour la verification algorithmique de ces systemes. Ce cadre est base sur la representation des ensembles de configurations par des automates de mots ou d'arbres, et la representation des relations de transition des systemes par des regles de reecritures de mots ou de termes. Le probleme de la verification est ensuite reduit au calcul des ensembles des accessibles dans ce cadre. Les contributions de cette these sont les suivantes: 1- Definition d'une technique d'acceleration generale. Nous proposons une methode basee sur des techniques d'extrapolation sur les automates, et nous etudions la puissance de cette approche. 2- Techniques de model-checking regulier pour la verification des reseaux parametres avec des topologies lineaires et arborescentes. En particulier, nous considerons les reseaux modelises par des systemes de reecriture comprenant des semi-commutations, c-a-d. des regles de la forme ab -> ba, et nous exhibons une classe de langages qui est effectivement fermee par ces systemes. 3- Modelisation et verification des programmes recursifs paralleles. Dans un premier temps, nous etudions les modeles PRS qui sont plus generaux que les systemes a pile, les reseaux de Petri, et les systemes PA; et nous proposons des algorithmes qui calculent les ensembles des accessibles de (sous-classes de) PRS en considerant differentes semantiques. Dans une autre approche, nous considerons des modeles bases sur des automates a pile communicants et des systemes de reecritures a-la CCS, et nous proposons des methodes de verification de ces modeles basees sur le calcul d'abstractions des langages des chemins d'executions. Nous proposons un cadre algebrique generique permettant le calcul de ces abstractions.

[1]  Faron Moller,et al.  Infinite Results , 1996, CONCUR.

[2]  Lawrence Charles Paulson,et al.  Isabelle/HOL: A Proof Assistant for Higher-Order Logic , 2002 .

[3]  E. Pascal Gribomont,et al.  Automated Verification of Szymanski's Algorithm , 1998, TACAS.

[4]  Pierre Wolper,et al.  A direct symbolic approach to model checking pushdown systems , 1997, INFINITY.

[5]  David Sinclair,et al.  Automatic Approximation for the Verification of Cryptographic Protocols , 2002, FASec.

[6]  Johann Blieberger,et al.  Symbolic Data Flow Analysis for Detecting Deadlocks in Ada Tasking Programs , 2000, Ada-Europe.

[7]  Thomas Colcombet Rewriting in the partial algebra of typed terms modulo AC , 2002, INFINITY.

[8]  Yves-Marie Quemener,et al.  Model-checking of infinite graphs defined by graph grammars , 1996, INFINITY.

[9]  Orna Grumberg,et al.  Network Grammars, Communication Behaviors and Automatic Verification , 1989, Automatic Verification Methods for Finite State Systems.

[10]  Sergio Yovine,et al.  Model Checking Timed Automata , 1996, European Educational Forum: School on Embedded Systems.

[11]  Marcus Nilsson,et al.  Regular Model Checking , 2000, CAV.

[12]  Amir Pnueli,et al.  Beyond Regular Model Checking , 2001, FSTTCS.

[13]  Colin Stirling,et al.  Modal and Temporal Logics for Processes , 1996, Banff Higher Order Workshop.

[14]  Alain Finkel,et al.  Monotonic Extensions of Petri Nets: Forward and Backward Search Revisited , 2002, INFINITY.

[15]  Pravin Varaiya,et al.  What's decidable about hybrid automata? , 1995, STOC '95.

[16]  Ahmed Bouajjani,et al.  Languages, Rewriting Systems, and Verification of Infinite-State Systems , 2001, ICALP.

[17]  Thomas A. Henzinger,et al.  The Algorithmic Analysis of Hybrid Systems , 1995, Theor. Comput. Sci..

[18]  Jan A. Bergstra,et al.  Algebra of Communicating Processes with Abstraction , 1985, Theor. Comput. Sci..

[19]  S. Ginsburg,et al.  Semigroups, Presburger formulas, and languages. , 1966 .

[20]  Bernhard Steffen,et al.  Data Flow Analysis as Model Checking , 1990, TACS.

[21]  Parosh Aziz Abdulla,et al.  On-the-Fly Analysis of Systems with Unbounded, Lossy FIFO Channels , 1998, CAV.

[22]  Marcus Nilsson,et al.  Transitive Closures of Regular Relations for Verifying Infinite-State Systems , 2000, TACAS.

[23]  H. Rice Classes of recursively enumerable sets and their decision problems , 1953 .

[24]  A. Prasad Sistla,et al.  Reasoning about systems with many processes , 1992, JACM.

[25]  Alain Finkel,et al.  Unreliable Channels are Easier to Verify Than Perfect Channels , 1996, Inf. Comput..

[26]  Jean Goubault-Larrecq,et al.  A Method for Automatic Cryptographic Protocol Verification , 2000, IPDPS Workshops.

[27]  S. Purushothaman Iyer,et al.  Data flow analysis of communicating finite state machines , 1991, TOPL.

[28]  Patrice Godefroid,et al.  Symbolic Verification of Communication Protocols with Infinite State Spaces using QDDs , 1999, Formal Methods Syst. Des..

[29]  Michael A. Arbib,et al.  An Introduction to Formal Language Theory , 1988, Texts and Monographs in Computer Science.

[30]  Patrice Godefroid,et al.  Partial-Order Methods for the Verification of Concurrent Systems , 1996, Lecture Notes in Computer Science.

[31]  Faron Moller,et al.  A polynomial-time algorithm for deciding bisimulation equivalence of normed Basic Parallel Processes , 1994, Mathematical Structures in Computer Science.

[32]  Richard Mayr Decidability and complexity of model checking problems for infinite state systems , 1998 .

[33]  A. Tarski A LATTICE-THEORETICAL FIXPOINT THEOREM AND ITS APPLICATIONS , 1955 .

[34]  Parosh Aziz Abdulla,et al.  Undecidable Verification Problems for Programs with Unreliable Channels , 1994, Inf. Comput..

[35]  Jens Knoop,et al.  An Automata-Theoretic Approach to Interprocedural Data-Flow Analysis , 1999, FoSSaCS.

[36]  A. Prasad Sistla,et al.  Automatic verification of finite state concurrent system using temporal logic specifications: a practical approach , 1983, POPL '83.

[37]  David L. Dill,et al.  Timing Assumptions and Verification of Finite-State Concurrent Systems , 1989, Automatic Verification Methods for Finite State Systems.

[38]  Pierre Wolper,et al.  Using partial orders for the efficient verification of deadlock freedom and safety properties , 1991, Formal Methods Syst. Des..

[39]  Tayssir Touili,et al.  Reachability Analysis of Process Rewrite Systems , 2003, FSTTCS.

[40]  Aline Deruyver,et al.  The Reachability Problem for Ground TRS and Some Extensions , 1989, TAPSOFT, Vol.1.

[41]  Tayssir Touili,et al.  A Generic Approach to the Static Analysis of Concurrent Programs with Procedures , 2003, Int. J. Found. Comput. Sci..

[42]  M. Fischer,et al.  SUPER-EXPONENTIAL COMPLEXITY OF PRESBURGER ARITHMETIC , 1974 .

[43]  Thierry Jéron,et al.  On-Line Model Checking for Finite Linear Temporal Logic Specifications , 1989, Automatic Verification Methods for Finite State Systems.

[44]  Javier Esparza,et al.  Reachability Analysis of Pushdown Automata: Application to Model-Checking , 1997, CONCUR.

[45]  Faron Moller,et al.  A Polynomial Algorithm for Deciding Bisimilarity of Normed Context-Free Processes , 1994, Theor. Comput. Sci..

[46]  Pierre Wolper,et al.  An Automata-Theoretic Approach to Automatic Program Verification (Preliminary Report) , 1986, LICS.

[47]  Javier Esparza,et al.  Efficient Algorithms for Model Checking Pushdown Systems , 2000, CAV.

[48]  Stavros Tripakis,et al.  The Tool KRONOS , 1996, Hybrid Systems.

[49]  Anca Muscholl,et al.  Permutation rewriting and algorithmic verification , 2001, Proceedings 16th Annual IEEE Symposium on Logic in Computer Science.

[50]  Hubert Comon,et al.  Tree automata techniques and applications , 1997 .

[51]  John E. Hopcroft,et al.  On the Reachability Problem for 5-Dimensional Vector Addition Systems , 1976, Theor. Comput. Sci..

[52]  Jens Knoop Optimal Interprocedural Program Optimization: A New Framework and Its Application , 1999 .

[53]  Fred Kröger,et al.  Temporal Logic of Programs , 1987, EATCS Monographs on Theoretical Computer Science.

[54]  Bernhard Steffen,et al.  Composition, Decomposition and Model Checking of Pushdown Processes , 1995, Nord. J. Comput..

[55]  Martin C. Rinard,et al.  Analysis of Multithreaded Programs , 2001, SAS.

[56]  David Monniaux,et al.  Abstracting cryptographic protocols with tree automata , 1999, Sci. Comput. Program..

[57]  Wolfgang Thomas,et al.  Classifying Regular Events in Symbolic Logic , 1982, J. Comput. Syst. Sci..

[58]  Antti Valmari,et al.  Stubborn sets for reduced state space generation , 1991, Applications and Theory of Petri Nets.

[59]  Wojciech Zielonka,et al.  The Book of Traces , 1995 .

[60]  Pierre Wolper,et al.  Verifying Properties of Large Sets of Processes with Network Invariants , 1990, Automatic Verification Methods for Finite State Systems.

[61]  Amir Pnueli,et al.  Parameterized Verification with Automatically Computed Inductive Assertions , 2001, CAV.

[62]  Javier Esparza Grammars as Processes , 2002, Formal and Natural Computing.

[63]  Vineet Kahlon,et al.  Model Checking Large-Scale and Parameterized Resource Allocation Systems , 2002, TACAS.

[64]  Eran Yahav,et al.  Verifying safety properties of concurrent Java programs using 3-valued logic , 2001, POPL '01.

[65]  Alain Finkel,et al.  How to Compose Presburger-Accelerations: Applications to Broadcast Protocols , 2002, FSTTCS.

[66]  Bernhard Steffen,et al.  Model Checking the Full Modal mu-Calculus for Infinite Sequential Processes , 1997, Theor. Comput. Sci..

[67]  Nicolas Halbwachs,et al.  Automatic discovery of linear restraints among variables of a program , 1978, POPL.

[68]  Javier Esparza,et al.  More infinite results , 2001, INFINITY.

[69]  Thierry Jéron,et al.  On-the-fly verification of finite transition systems , 1992, Formal Methods Syst. Des..

[70]  George S. Avrunin,et al.  A conservative data flow algorithm for detecting all pairs of statements that may happen in parallel , 1998, SIGSOFT '98/FSE-6.

[71]  David A. Schmidt,et al.  Program Analysis as Model Checking of Abstract Interpretations , 1998, SAS.

[72]  Sagar Chaki,et al.  Parameterized Verification of Multithreaded Software Libraries , 2001, TACAS.

[73]  Hiroyuki Seki,et al.  Right-Linear Finite Path Overlapping Term Rewriting Systems Effectively Preserve Recognizability , 2000, RTA.

[74]  Rémi Gilleron Decision Problems for Term Rewriting Systems and Recognizable Tree Languages , 1991, STACS.

[75]  Joost Engelfriet,et al.  Bottom-up and top-down tree transformations— a comparison , 1975, Mathematical systems theory.

[76]  Parosh Aziz Abdulla,et al.  Symbolic Verification of Lossy Channel Systems: Application to the Bounded Retransmission Protocol , 1999, TACAS.

[77]  Alain Finkel,et al.  Decidability of the termination problem for completely specified protocols , 1994, Distributed Computing.

[78]  Bernhard Steffen,et al.  Constraint-Based Inter-Procedural Analysis of Parallel Programs , 2000, Nord. J. Comput..

[79]  Joseph Sifakis,et al.  Specification and verification of concurrent systems in CESAR , 1982, Symposium on Programming.

[80]  Alain Kerbrat,et al.  CADP - A Protocol Validation and Verification Toolbox , 1996, CAV.

[81]  John Mitchell,et al.  Tree Automata with One Memory, Set Constraints, and Ping-Pong Protocols , 2001, ICALP.

[82]  James Curtis Corbett Automated formal analysis methods for concurrent and real-time software , 1992 .

[83]  Amir Pnueli,et al.  Symbolic model checking with rich assertional languages , 2001, Theor. Comput. Sci..

[84]  Somesh Jha,et al.  Veryfying Parameterized Networks using Abstraction and Regular Languages , 1995, CONCUR.

[85]  Sriram K. Rajamani,et al.  Bebop: A Symbolic Model Checker for Boolean Programs , 2000, SPIN.

[86]  Pierre Wolper,et al.  Symbolic Verification with Periodic Sets , 1994, CAV.

[87]  Ahmed Bouajjani,et al.  Verification of Parametric Concurrent Systems with Prioritized FIFO Resource Management , 2003, CONCUR.

[88]  Laurent Fribourg,et al.  Reachability sets of parameterized rings as regular languages , 1997, INFINITY.

[89]  Pierre Wolper,et al.  The Power of QDDs , 1997 .

[90]  Javier Esparza,et al.  Decidability of model checking for infinite-state concurrent systems , 1997, Acta Informatica.

[91]  Kedar S. Namjoshi,et al.  Reasoning about rings , 1995, POPL '95.

[92]  Giorgio Delzanno,et al.  Towards the Automated Verification of Multithreaded Java Programs , 2002, TACAS.

[93]  Javier Esparza,et al.  Checking System Properties via Integer Programming , 1996, ESOP.

[94]  Somesh Jha,et al.  Weighted pushdown systems and their application to interprocedural dataflow analysis , 2003, Sci. Comput. Program..

[95]  Parosh Aziz Abdulla,et al.  General decidability theorems for infinite-state systems , 1996, Proceedings 11th Annual IEEE Symposium on Logic in Computer Science.

[96]  Robert P. Kurshan,et al.  A structural induction theorem for processes , 1989, PODC.

[97]  Tayssir Touili,et al.  Extrapolating Tree Transformations , 2002, CAV.

[98]  M. Rusinowitch,et al.  Reachability is decidable for ground AC Rewrite systems , 1998 .

[99]  Pierre Wolper,et al.  On the Construction of Automata from Linear Arithmetic Constraints , 2000, TACAS.

[100]  Søren Christensen Decidability and decomposition in process algebras , 1993 .

[101]  Karsten Stahl,et al.  Abstracting WS1S Systems to Verify Parameterized Networks , 2000, TACAS.

[102]  Pierre Wolper,et al.  Iterating transducers in the large , 2003 .

[103]  Nicolas Halbwachs,et al.  Verification of Linear Hybrid Systems by Means of Convex Approximations , 1994, SAS.

[104]  Javier Esparza,et al.  A BDD-Based Model Checker for Recursive Programs , 2001, CAV.

[105]  Amir Pnueli,et al.  Liveness and Acceleration in Parameterized Verification , 2000, CAV.

[106]  Nicolas Halbwachs,et al.  Automatic verification of parameterized linear networks of processes , 1997, POPL '97.

[107]  Sándor Vágvölgyi,et al.  Bottom-Up Tree Pushdown Automata and Rewrite Systems , 1991, RTA.

[108]  Denis Lugiez,et al.  Counting and Equality Constraints for Multitree Automata , 2003, FoSSaCS.

[109]  Randal E. Bryant,et al.  Symbolic Boolean manipulation with ordered binary-decision diagrams , 1992, CSUR.

[110]  Pierre Wolper,et al.  An Algorithmic Approach for Checking Closure Properties of Temporal Logic Specifications and Omega-Regular Languages , 1998, Theor. Comput. Sci..

[111]  Andreas Podelski,et al.  Efficient algorithms for pre* and post* on interprocedural parallel flow graphs , 2000, POPL '00.

[112]  Richard N. Taylor,et al.  A general-purpose algorithm for analyzing concurrent programs , 1983, CACM.

[113]  Pierre Wolper,et al.  Verifying Systems with Infinite but Regular State Spaces , 1998, CAV.

[114]  Zohar Manna,et al.  An exercise in the verification of multi-process programs , 1990 .

[115]  Ahmed Bouajjani,et al.  Symbolic Reachability Analysis of FIFO-Channel Systems with Nonregular Sets of Configurations , 1999, Theor. Comput. Sci..

[116]  Parosh Aziz Abdulla,et al.  Regular Model Checking Made Simple and Efficient , 2002, CONCUR.

[117]  Amir Pnueli,et al.  Automatic Deductive Verification with Invisible Invariants , 2001, TACAS.

[118]  Hsu-Chun Yen,et al.  A Taxonomy of Fairness and Temporal Logic Problems for Petri Nets , 1988, Theoretical Computer Science.

[119]  Christine Paulin-Mohring,et al.  The Coq Proof Assistant : A Tutorial : Version 7.2 , 1997 .

[120]  Didier Caucal,et al.  On the Regular Structure of Prefix Rewriting , 1990, Theor. Comput. Sci..

[121]  Faron Moller,et al.  Checking Regular Properties of Petri Nets , 1995, CONCUR.

[122]  Mogens Nielsen,et al.  Decidability Issues for Petri Nets - a survey , 1994, Bull. EATCS.

[123]  Edmund M. Clarke,et al.  Reasoning about networks with many identical finite-state processes , 1986, PODC '86.

[124]  Pierre Wolper,et al.  Expressing interesting properties of programs in propositional temporal logic , 1986, POPL '86.

[125]  Wang Yi,et al.  UPPAAL - a Tool Suite for Automatic Verification of Real-Time Systems , 1996, Hybrid Systems.

[126]  Anca Muscholl,et al.  Über die Erkennbarkeit unendlicher Spuren , 1994 .

[127]  Edmund M. Clarke,et al.  Symbolic Model Checking: 10^20 States and Beyond , 1990, Inf. Comput..

[128]  Sophie Tison,et al.  The theory of ground rewrite systems is decidable , 1990, [1990] Proceedings. Fifth Annual IEEE Symposium on Logic in Computer Science.

[129]  Robert K. Brayton,et al.  Partial-Order Reduction in Symbolic State Space Exploration , 1997, CAV.

[130]  G. Ramalingam,et al.  Context-sensitive synchronization-sensitive analysis is undecidable , 2000, TOPL.

[131]  Parosh Aziz Abdulla,et al.  Handling Global Conditions in Parameterized System Verification , 1999, CAV.

[132]  Edmund M. Clarke,et al.  Model checking, abstraction, and compositional verification , 1993 .

[133]  Derick Wood,et al.  Regular tree and regular hedge languages over unranked alphabets , 2001 .

[134]  Ahmed Bouajjani,et al.  TReX: A Tool for Reachability Analysis of Complex Systems , 2001, CAV.

[135]  Petr Jancar,et al.  Decidability of a Temporal Logic Problem for Petri Nets , 1990, Theor. Comput. Sci..

[136]  Yoram Hishfeld Petri Nets and the Equivalence Problem , 1993 .

[137]  Philippe Schnoebelen,et al.  The regular viewpoint on PA-processes , 1998, Theor. Comput. Sci..

[138]  Dexter Kozen,et al.  Parikh's theorem in commutative Kleene algebra , 1999, Proceedings. 14th Symposium on Logic in Computer Science (Cat. No. PR00158).

[139]  Nicolas Mercouroff,et al.  An Algorithm for Analyzing Communicating Processes , 1991, MFPS.

[140]  Mary Lou Soffa,et al.  Concurrency analysis in the presence of procedures using a data-flow framework , 1991, TAV4.

[141]  Patrick Cousot,et al.  Static Determination of Dynamic Properties of Recursive Procedures , 1977, Formal Description of Programming Concepts.

[142]  Kai Salomaa,et al.  Deterministic Tree Pushdown Automata and Monadic Tree Rewriting Systems , 1988, J. Comput. Syst. Sci..

[143]  Pierre Wolper Temporal Logic Can Be More Expressive , 1983, Inf. Control..

[144]  Jeffrey D. Ullman,et al.  Introduction to Automata Theory, Languages and Computation , 1979 .

[145]  Igor Walukiewicz,et al.  Pushdown Processes: Games and Model-Checking , 1996, Inf. Comput..

[146]  Parosh Aziz Abdulla,et al.  Regular Tree Model Checking , 2002, CAV.

[147]  Thomas Genet,et al.  Rewriting for Cryptographic Protocol Verification , 2000, CADE.

[148]  Thomas A. Henzinger,et al.  HYTECH: a model checker for hybrid systems , 1997, International Journal on Software Tools for Technology Transfer.

[149]  Javier Esparza Petri Nets, Commutative Context-Free Grammars, and Basic Parallel Processes , 1995, FCT.

[150]  Satoshi Yamane,et al.  The symbolic model-checking for real-time systems , 1996, Proceedings of the Eighth Euromicro Workshop on Real-Time Systems.

[151]  Parosh Aziz Abdulla,et al.  Decidability of Simulation and Bisimulation between Lossy Channel Systems and Finite State Systems (Extended Abstract) , 1995, CONCUR.

[152]  Natarajan Shankar,et al.  PVS: A Prototype Verification System , 1992, CADE.

[153]  Yassine Lakhnech,et al.  Iterating transducers , 2001, J. Log. Algebraic Methods Program..

[154]  Peter Habermehl Sur la vérification de systèmes infinis , 1998 .

[155]  Nancy A. Lynch,et al.  A Proof of Burns N-Process Mutual Exclusion Algorithm Using Abstraction , 1998, TACAS.