Generalizing the Paige-Tarjan algorithm by abstract interpretation

The Paige and Tarjan algorithm (PT) for computing the coarsest refinement of a state partition which is a bisimulation on some Kripke structure is well known. It is also well known in model checking that bisimulation is equivalent to strong preservation of CTL or, equivalently, of Hennessy-Milner logic. Drawing on these observations, we analyze the basic steps of the PT algorithm from an abstract interpretation perspective, which allows us to reason on strong preservation in the context of arbitrary (temporal) languages and of generic abstract models, possibly different from standard state partitions, specified by abstract interpretation. This leads us to design a generalized Paige-Tarjan algorithm, called GPT, for computing the minimal refinement of an abstract interpretation-based model that strongly preserves some given language. It turns out that PT is a straight instance of GPT on the domain of state partitions for the case of strong preservation of Hennessy-Milner logic. We provide a number of examples showing that GPT is of general use. We first show how a well-known efficient algorithm for computing stuttering equivalence can be viewed as a simple instance of GPT. We then instantiate GPT in order to design a new efficient algorithm for computing simulation equivalence that is competitive with the best available algorithms. Finally, we show how GPT allows to deal with strong preservation of new languages by providing an efficient algorithm that computes the coarsest refinement of a given partition that strongly preserves a language generated by the reachability operator.

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

[2]  Robin Milner,et al.  Algebraic laws for nondeterminism and concurrency , 1985, JACM.

[3]  Gilberto Filé,et al.  A unifying view of abstract domain design , 1996, CSUR.

[4]  Edmund M. Clarke,et al.  Model Checking , 1999, Handbook of Automated Reasoning.

[5]  R. V. Glabbeek The Linear Time-Branching Time Spectrum I The Semantics of Concrete , Sequential ProcessesR , 2007 .

[6]  Rance Cleaveland,et al.  Simulation Revisited , 2001, TACAS.

[7]  Francesco Ranzato,et al.  A New Efficient Simulation Equivalence Algorithm , 2007, 22nd Annual IEEE Symposium on Logic in Computer Science (LICS 2007).

[8]  Thomas A. Henzinger,et al.  A Classification of Symbolic Transition Systems , 2000, STACS.

[9]  Patrick Cousot,et al.  Systematic design of program analysis frameworks , 1979, POPL.

[10]  Francesco Ranzato,et al.  An Abstract Interpretation-Based Refinement Algorithm for Strong Preservation , 2005, TACAS.

[11]  Orna Grumberg,et al.  Simulation-based minimization , 2003, TOCL.

[12]  R. E. A. Mason,et al.  Information Processing 83 , 1984 .

[13]  Patrick Cousot,et al.  Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints , 1977, POPL.

[14]  Dennis Dams,et al.  Abstract interpretation and partition refinement for model checking , 1996 .

[15]  Roberto Giacobazzi,et al.  Refining and Compressing Abstract Domains , 1997, ICALP.

[16]  Bard Bloom,et al.  Transformational Design and Implementation of a New Efficient Solution to the Ready Simulation Problem , 1995, Sci. Comput. Program..

[17]  Roberto Giacobazzi,et al.  Incompleteness, Counterexamples, and Refinements in Abstract Model-Checking , 2001, SAS.

[18]  J. Bergstra,et al.  Handbook of Process Algebra , 2001 .

[19]  John E. Hopcroft,et al.  An n log n algorithm for minimizing states in a finite automaton , 1971 .

[20]  Rob J. van Glabbeek,et al.  Branching time and abstraction in bisimulation semantics , 1996, JACM.

[21]  Thomas A. Henzinger,et al.  A classification of symbolic transition systems , 2000, TOCL.

[22]  Jan Friso Groote,et al.  An Efficient Algorithm for Branching Bisimulation and Stuttering Equivalence , 1990, ICALP.

[23]  Thomas A. Henzinger,et al.  Computing simulations on finite and infinite graphs , 1995, Proceedings of IEEE 36th Annual Foundations of Computer Science.

[24]  Robin Milner,et al.  A Calculus of Communicating Systems , 1980, Lecture Notes in Computer Science.

[25]  Rocco De Nicola,et al.  Three logics for branching bisimulation , 1995, JACM.

[26]  Marta Simeoni,et al.  Taming the complexity of biochemical models through bisimulation and collapsing: theory and practice , 2004, Theor. Comput. Sci..

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

[28]  Laurent Viennot,et al.  Partition Refinement Techniques: An Interesting Algorithmic Tool Kit , 1999, Int. J. Found. Comput. Sci..

[29]  Leslie Lamport,et al.  What Good is Temporal Logic? , 1983, IFIP Congress.

[30]  Agostino Dovier,et al.  An efficient algorithm for computing bisimulation equivalence , 2004, Theor. Comput. Sci..

[31]  C. Freund Incompleteness , 1888, The Hospital.

[32]  P. H. Lindsay Human Information Processing , 1977 .

[33]  Robert E. Tarjan,et al.  Three Partition Refinement Algorithms , 1987, SIAM J. Comput..

[34]  Antonín Kucera,et al.  Why Is Simulation Harder than Bisimulation? , 2002, CONCUR.

[35]  Francesco Ranzato,et al.  Generalized Strong Preservation by Abstract Interpretation , 2004, J. Log. Comput..

[36]  Roberto Giacobazzi,et al.  Making abstract interpretations complete , 2000, JACM.

[37]  Carla Piazza,et al.  From Bisimulation to Simulation: Coarsest Partition Problems , 2003, Journal of Automated Reasoning.