Contributions à l'approche automate pour la vérification de propriétés de systèmes concurrents

The automata theoretic approach to model checking linear-time temporal properties is a classical verification technique for concurrent systems. Both the system and the property to verify are expressed as automata on infinite words (ω-automata). Some operations on these automata establish whether the property holds in the system. In this thesis we focus on a kind of ω-automata called Transition-based Generalized Büchi Automata (TGBA). We start by revisiting the main two steps of the approach: the translation of linear-time temporal logic formulæ into TGBA, and the emptiness check of TGBA. For each of these steps, we offer improvements to existing algorithms, and compare them to show the benefits of using TGBA. We then introduce two variants of the emptiness check algorithm. The first one can be combined with algorithms that aim at reducing the automaton which represents the system by gathering some of its states symbolically. The new emptiness check uses inclusion checks between these symbolic sets of states to drive the on-the-fly construction of the automaton. The second variant is a generalization to (transition-based) Streett automata; it enables the verification of properties under strong fairness assumptions.

[1]  Edsger W. Dijkstra Finding the Maximum Strong Components in a Directed Graph , 1982 .

[2]  Giovanni Chiola,et al.  A Symbolic Reachability Graph for Coloured Petri Nets , 1997, Theor. Comput. Sci..

[3]  Heikki Tauriainen,et al.  AUTOMATED TESTING OF BUCHI AUTOMATA TRANSLATORS FOR LINEAR TEMPORAL LOGIC , 2000 .

[4]  Timo Latvala,et al.  MODEL CHECKING LINEAR TEMPORAL LOGIC PROPERTIES OF PETRI NETS WITH FAIRNESS CONSTRAINTS , 2001 .

[5]  Amir Pnueli,et al.  Checking that finite state concurrent programs satisfy their linear specification , 1985, POPL.

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

[7]  Tommi A. Junttila,et al.  On the symmetry reduction method for Petri nets and similar formalisms , 2003 .

[8]  J. Richard Biichi The Collected Works of J. Richard Büchi , 1990, Springer New York.

[9]  Pierre Wolper,et al.  Memory-efficient algorithms for the verification of temporal properties , 1990, Formal Methods Syst. Des..

[10]  Laurent Pautet,et al.  On the Formal Verification of Middleware Behavioral Properties , 2005, Electron. Notes Theor. Comput. Sci..

[11]  Timo Latvala,et al.  Coping With Strong Fairness , 2000, Fundam. Informaticae.

[12]  Denis Poitrenaud,et al.  Designing a LTL Model-Checker Based on Unfolding Graphs , 2000, ICATPN.

[13]  Jaco Geldenhuys,et al.  More efficient on-the-fly LTL verification with Tarjan's algorithm , 2005, Theor. Comput. Sci..

[14]  Fabio Somenzi,et al.  Efficient Büchi Automata from LTL Formulae , 2000, CAV.

[15]  Robert E. Tarjan,et al.  Depth-First Search and Linear Graph Algorithms , 1972, SIAM J. Comput..

[16]  Jan Arne Telle,et al.  Faster Algorithms for the Nonemptiness of Streett Automata and for Communication Protocol Pruning , 1995, SWAT.

[17]  Heikki Tauriainen,et al.  ON TRANSLATING LINEAR TEMPORAL LOGIC INTO ALTERNATING AND NONDETERMINISTIC AUTOMATA , 2003 .

[18]  Kais Klai,et al.  Design and Evaluation of a Symbolic and Abstraction-Based Model Checker , 2004, ATVA.

[19]  S. Sieber On a decision method in restricted second-order arithmetic , 1960 .

[20]  Gerard J. Holzmann An analysis of bitstate hashing , 1995 .

[21]  Carsten Fritz,et al.  Constructing Büchi Automata from Linear Temporal Logic Using Simulation Relations for Alternating Büchi Automata , 2003, CIAA.

[22]  Javier Esparza Verification of Systems with an Infinite State Space , 2000, MOVEP.

[23]  Walter Vogler,et al.  An Improvement of McMillan's Unfolding Algorithm , 2002, Formal Methods Syst. Des..

[24]  Heikki Tauriainen A Randomized Testbench for Algorithms Translating Linear Temporal Logic Formulae into B1chi Automat , 1999 .

[25]  Nils Klarlund,et al.  Progress measures for complementation omega -automata with applications to temporal logic , 1991, [1991] Proceedings 32nd Annual Symposium of Foundations of Computer Science.

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

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

[28]  Moshe Y. Vardi The Büchi Complementation Saga , 2007, STACS.

[29]  Zohar Manna,et al.  A Decision Algorithm for Full Propositional Temporal Logic , 1993, CAV.

[30]  Moshe Y. Vardi An Automata-Theoretic Approach to Linear Temporal Logic , 1996, Banff Higher Order Workshop.

[31]  Orna Kupferman,et al.  Büchi Complementation Made Tighter , 2006, Int. J. Found. Comput. Sci..

[32]  Arto Salomaa Jewels are Forever, Contributions on Theoretical Computer Science in Honor of Arto Salomaa , 1999, Jewels are Forever.

[33]  Antti Valmari,et al.  On-the-Fly Verification with Stubborn Sets , 1993, CAV.

[34]  Bowen Alpern,et al.  Recognizing safety and liveness , 2005, Distributed Computing.

[35]  Mordechai Ben-Ari,et al.  The temporal logic of branching time , 1981, POPL '81.

[36]  Roberto Sebastiani,et al.  "More Deterministic" vs. "Smaller" Büchi Automata for Efficient LTL Model Checking , 2003, CHARME.

[37]  David E. Muller,et al.  Alternating automata on infinite objects, determinacy and Rabin's theorem , 1984, Automata on Infinite Words.

[38]  Heikki Tauriainen,et al.  Nested emptiness search for generalized Buchi automata , 2004, Proceedings. Fourth International Conference on Application of Concurrency to System Design, 2004. ACSD 2004..

[39]  H. Tauriainen A NOTE ON THE WORST-CASE MEMORY REQUIREMENTS OF GENERALIZED NESTED DEPTH-FIRST SEARCH , 2005 .

[40]  David L. Dill,et al.  Improved probabilistic verification by hash compaction , 1995, CHARME.

[41]  Joseph Y. Halpern,et al.  Model Checking vs. Theorem Proving: A Manifesto , 1991, KR.

[42]  Antti Valmari,et al.  The State Explosion Problem , 1996, Petri Nets.

[43]  Pierre Wolper,et al.  Reliable Hashing without Collosion Detection , 1993, CAV.

[44]  Xavier Thirioux Simple and Efficient Translation from LTL Formulas to Buchi Automata , 2002, Electron. Notes Theor. Comput. Sci..

[45]  François Vernadat,et al.  Covering Step Graph , 1996, Application and Theory of Petri Nets.

[46]  Dimitra Giannakopoulou,et al.  Efficient Translation of LTL Formulae into Buchi Automata , 2001 .

[47]  Orna Grumberg,et al.  Verification of Temporal Properties , 1993, J. Log. Comput..

[48]  Daniel Brand,et al.  On Communicating Finite-State Machines , 1983, JACM.

[49]  Pierre Wolper,et al.  The tableau method for temporal logic: an overview , 1985 .

[50]  Stephan Merz,et al.  Model Checking: A Tutorial Overview , 2000, MOVEP.

[51]  Moshe Y. Vardi Automata-Theoretic Model Checking Revisited , 2007, VMCAI.

[52]  George S. Avrunin,et al.  Property specification patterns for finite-state verification , 1998, FMSP '98.

[53]  Amir Pnueli,et al.  A compositional approach to CTL* verification , 2005, Theor. Comput. Sci..

[54]  Jiří Barnat,et al.  Distributed Memory Ltl Model Checking , 2004 .

[55]  Moshe Y. Vardi,et al.  Model Checking Büchi Specifications , 2007 .

[56]  Edward Y. Chang,et al.  Characterization of Temporal Property Classes , 1992, ICALP.

[57]  Denis Poitrenaud,et al.  On-the-Fly Emptiness Checks for Generalized Büchi Automata , 2005, SPIN.

[58]  Heikki Tauriainen,et al.  Automata and linear temporal logic : translations with transition-based acceptance , 2006 .

[59]  Pierre Wolper,et al.  Reasoning about infinite computation paths , 1983, 24th Annual Symposium on Foundations of Computer Science (sfcs 1983).

[60]  Moshe Y. Vardi,et al.  B uchi Complementation: A Forty-Year Saga , 2006 .

[61]  Paul Gastin,et al.  Fast LTL to Büchi Automata Translation , 2001, CAV.

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

[63]  Edmund M. Clarke,et al.  Formal Methods: State of the Art and Future Directions Working Group Members , 1996 .

[64]  Mihalis Yannakakis,et al.  On nested depth first search , 1996, The Spin Verification System.

[65]  Gerard J. Holzmann,et al.  The Model Checker SPIN , 1997, IEEE Trans. Software Eng..

[66]  Pierre Wolper,et al.  Constructing Automata from Temporal Logic Formulas: A Tutorial , 2002, European Educational Forum: School on Formal Methods and Performance Analysis.

[67]  Jan Tretmans,et al.  Testing Concurrent Systems: A Formal Approach , 1999, CONCUR.

[68]  Serge Haddad,et al.  A Model Checking Method for Partially Symmetric Systems , 2000, FORTE.

[69]  Ivana Cerná,et al.  Relating Hierarchy of Temporal Properties to Model Checking , 2003, MFCS.

[70]  Kousha Etessami,et al.  Fair Simulation Relations, Parity Games, and State Space Reduction for Büchi Automata , 2001, ICALP.

[71]  S. Poirier Foundations of mathematics , 2007 .

[72]  K. Varpaaniemi,et al.  On the Stubborn Set Method in Reduced State Space Generation , 1998 .

[73]  Nicolas Halbwachs,et al.  Minimal State Graph Generation , 1992, Sci. Comput. Program..

[74]  Stephan Merz,et al.  Truly On-The-Fly LTL Model Checking , 2005, TACAS.

[75]  Denis Poitrenaud,et al.  A Symbolic Symbolic State Space Representation , 2004, FORTE.

[76]  Bowen Alpern,et al.  Defining Liveness , 1984, Inf. Process. Lett..

[77]  Frank Waters,et al.  The B Book , 1971 .

[78]  Jan Tretmans,et al.  On-the-fly conformance testing using SPIN , 2000, International Journal on Software Tools for Technology Transfer.

[79]  Carsten Fritz,et al.  Concepts of Automata Construction from LTL , 2005, LPAR.

[80]  Gerard J. Holzmann,et al.  The SPIN Model Checker - primer and reference manual , 2003 .

[81]  Kousha Etessami,et al.  Optimizing Büchi Automata , 2000, CONCUR.

[82]  Gerard J. Holzmann,et al.  An improved protocol reachability analysis technique , 1988, Softw. Pract. Exp..

[83]  Shmuel Safra,et al.  Exponential determinization for ω-automata with strong-fairness acceptance condition (extended abstract) , 1992, STOC '92.

[84]  H. Andersen An Introduction to Binary Decision Diagrams , 1997 .

[85]  Dragan Bosnacki,et al.  Multi-Core Model Checking with SPIN , 2007, 2007 IEEE International Parallel and Distributed Processing Symposium.

[86]  Dejan Nickovic,et al.  From MITL to Timed Automata , 2006, FORMATS.

[87]  Kavita Ravi,et al.  Efficient Decision Procedures for Model Checking of Linear Time Logic Properties , 1999, CAV.

[88]  Melvin Fitting,et al.  First-Order Logic and Automated Theorem Proving , 1990, Graduate Texts in Computer Science.

[89]  Max Michel Algebre de machines et logique temporelle , 1984, STACS.

[90]  Moshe Y. Vardi Branching vs. Linear Time: Final Showdown , 2001, TACAS.

[91]  Jean-Michel Couvreur,et al.  On-the-Fly Verification of Linear Temporal Logic , 1999, World Congress on Formal Methods.

[92]  Souheib Baarir,et al.  Exploiting partial symmetries in well-formed nets for the reachability and the linear time model checking problems , 2004 .

[93]  André Arnold,et al.  Finite transition systems - semantics of communicating systems , 1994, Prentice Hall international series in computer science.

[94]  Serge Haddad,et al.  Exploiting Symmetry in Linear Time Temporal Logic Model Checking: One Step Beyond , 1998, TACAS.

[95]  Keijo Heljanko,et al.  Testing LTL formula translation into Büchi automata , 2002, International Journal on Software Tools for Technology Transfer.

[96]  Carsten Fritz,et al.  State Space Reductions for Alternating Büchi Automata Quotienting by Simulation Equivalences , 2002 .

[97]  Pierre Wolper,et al.  Simple on-the-fly automatic verification of linear temporal logic , 1995, PSTV.

[98]  Giovanni Chiola,et al.  On Well-Formed Coloured Nets and Their Symbolic Reachability Graph , 1991 .

[99]  Tao Hao,et al.  Combining Couvreur's Algorithm with Bitstate-Hashing for Emptiness Check , 2006, First International Multi-Symposiums on Computer and Computational Sciences (IMSCCS'06).

[100]  Amir Pnueli,et al.  Verification by Augmented Abstraction: The Automata-Theoretic View , 2001, J. Comput. Syst. Sci..

[101]  Jaco Geldenhuys,et al.  Tarjan's Algorithm Makes On-the-Fly LTL Verification More Efficient , 2004, TACAS.

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

[103]  Javier Esparza,et al.  A Note on On-the-Fly Verification Algorithms , 2005, TACAS.

[104]  E. Beth La Crise de la Raison et La Logique , 1959 .

[105]  Fausto Giunchiglia,et al.  Improved Automata Generation for Linear Temporal Logic , 1999, CAV.

[106]  Stephan Merz,et al.  Emptiness of Linear Weak Alternating Automata , 2003 .

[107]  Pierre Wolper,et al.  Reasoning About Infinite Computations , 1994, Inf. Comput..

[108]  Paul Benoit,et al.  Météor: A Successful Application of B in a Large Project , 1999, World Congress on Formal Methods.

[109]  Mauno Rönkkö,et al.  LBT: LTL to Büchi conversion , 2001 .

[110]  Fabio Somenzi,et al.  Search techniques and automata for symbolic model checking , 2001 .

[111]  Doron A. Peled,et al.  Combining partial order reductions with on-the-fly model-checking , 1994, Formal Methods Syst. Des..

[112]  Denis Oddoux Utilisation des automates alternants pour un model-checking efficace des logiques temporelles linéaires , 2003 .

[113]  Michael Fisher,et al.  Fair SMG and Linear Time Model Checking , 1989, Automatic Verification Methods for Finite State Systems.

[114]  Keijo Heljanko,et al.  Testing SPIN's LTL Formula Conversion into Büchi Automata with Randomly Generated Input , 2000, SPIN.

[115]  Paul Gastin,et al.  Minimization of Counterexamples in SPIN , 2004, SPIN.

[116]  José Meseguer,et al.  The Maude LTL Model Checker and Its Implementation , 2003, SPIN.

[117]  Wolfgang Thomas Complementation of Büchi Automata Revised , 1999, Jewels are Forever.

[118]  Souheib Baarir,et al.  Emptiness Check of Powerset Buchi Automata using Inclusion Tests , 2007, Seventh International Conference on Application of Concurrency to System Design (ACSD 2007).

[119]  Timo Latvala,et al.  Model Checking LTL Properties of High-Level Petri Nets with Fairness Constraints , 2001, ICATPN.

[120]  Dimitra Giannakopoulou,et al.  From States to Transitions: Improving Translation of LTL Formulae to Büchi Automata , 2002, FORTE.

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

[122]  André Arnold,et al.  Finite transition systems , 1994 .

[123]  Isabelle Mounier,et al.  Automatic Symmetry Detection in Well-Formed Nets , 2003, ICATPN.

[124]  Gerard J. Holzmann,et al.  An improvement in formal verification , 1994, FORTE.