Utilizing symmetry when model-checking under fairness assumptions: an automata-theoretic approach

One useful technique for combating the state explosion problem is to exploit symmetry when performing temporal logic model checking. In previous work it is shown how, using some basic notions of group theory, symmetry may be exploited for the full range of correctness properties expressible in the very expressive temporal logic CTL*. Surprisingly, while fairness properties are readily expressible in CTL*, these methods are not powerful enough to admit any amelioration of state explosion, when fairness assumptions are involved. We show that it is nonetheless possible to handle fairness efficiently by trading some group theory for automata theory. Our automata-theoretic approach depends on detecting fair paths subtly encoded in a quotient structure whose arcs are annotated with permutations, by using a threaded structure that reflects coordinate shifts caused by the permutations.

[1]  A. Prasad Sistla,et al.  Reasoning with Many Processes , 1987, LICS.

[2]  David L. Dill,et al.  Better verification through symmetry , 1996, Formal Methods Syst. Des..

[3]  Pierre Wolper,et al.  Automata theoretic techniques for modal logics of programs: (Extended abstract) , 1984, STOC '84.

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

[5]  Edmund M. Clarke,et al.  Reasoning about Networks with Many Identical Finite State Processes , 1989, Inf. Comput..

[6]  Edmund M. Clarke,et al.  Design and Synthesis of Synchronization Skeletons Using Branching-Time Temporal Logic , 1981, Logic of Programs.

[7]  Edmund M. Clarke,et al.  Characterizing Finite Kripke Structures in Propositional Temporal Logic , 1988, Theor. Comput. Sci..

[8]  E. Allen Emerson,et al.  Temporal and Modal Logic , 1991, Handbook of Theoretical Computer Science, Volume B: Formal Models and Sematics.

[9]  David Lee,et al.  Online minimization of transition systems (extended abstract) , 1992, STOC '92.

[10]  Viggo Stoltenberg-hansen,et al.  In: Handbook of Logic in Computer Science , 1995 .

[11]  Orna Grumberg,et al.  Generation of Reduced Models for Checking Fragments of CTL , 1993, CAV.

[12]  A. Prasad Sistla,et al.  Symmetry and model checking , 1993, Formal Methods Syst. Des..

[13]  Kurt Jensen,et al.  Coloured Petri Nets: Basic Concepts, Analysis Methods and Practical Use. Vol. 2, Analysis Methods , 1992 .

[14]  Colin Stirling,et al.  Modal and temporal logics , 1993, LICS 1993.

[15]  E. Emerson,et al.  Modalities for model checking (extended abstract): branching time strikes back , 1985, ACM-SIGACT Symposium on Principles of Programming Languages.

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

[17]  L. C.NorrisIpDavid,et al.  Better Veri cation Through Symmetry , 1996 .

[18]  Grzegorz Rozenberg,et al.  High-level Petri Nets: Theory And Application , 1991 .

[19]  Robert P. Kurshan,et al.  Computer-Aided Verification of Coordinating Processes: The Automata-Theoretic Approach , 2014 .

[20]  D. B. Czerbo Handbook of theoretical computer science : J. van Leeuwen, ed., Vol. A: Algorithms and Complexity, Vol. B: Formal Methods and Semantics (Elsevier, Amsterdam, 1990), 2296 pp., hardcover, Dfl. 555.00 , 1992, Artif. Intell. Medicine.

[21]  Somesh Jha,et al.  Exploiting Symmetry In Temporal Logic Model Checking , 1993, CAV.

[22]  Somesh Jha,et al.  Exploiting symmetry in temporal logic model checking , 1993, Formal Methods Syst. Des..

[23]  Lutz Priese,et al.  Fairness , 1988, Bull. EATCS.

[24]  Zohar Manna,et al.  The Temporal Logic of Reactive and Concurrent Systems , 1991, Springer New York.

[25]  Edmund M. Clarke,et al.  Characterizing Kripke Structures in Temporal Logic , 1987, TAPSOFT, Vol.1.

[26]  Krishan K. Sabnani,et al.  A Calculus for Protocol Specification and Validation , 1983, Protocol Specification, Testing and Verification.

[27]  Chin-Laung Lei,et al.  Modalities for Model Checking: Branching Time Logic Strikes Back , 1987, Sci. Comput. Program..

[28]  Rance Cleaveland,et al.  Analysing Concurrent Systems Using the Concurrency Workbench , 1993, Functional Programming, Concurrency, Simulation and Automated Reasoning.

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

[30]  Nicolas Halbwachs,et al.  Minimal State Graph Generation , 1992, Science of Computer Programming.

[31]  Robert S. Streett Propositional Dynamic Logic of looping and converse , 1981, STOC '81.