Advertisement

Strong Preservation as Completeness in Abstract Interpretation

  • Francesco Ranzato
  • Francesco Tapparo
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2986)

Abstract

Many algorithms have been proposed to minimally refine abstract transition systems in order to get strong preservation relatively to a given temporal specification language. These algorithms compute a state equivalence, namely they work on abstractions which are partitions of system states. This is restrictive because, in a generic abstract interpretation-based view, state partitions are just one particular type of abstraction, and therefore it could well happen that the refined partition constructed by the algorithm is not the optimal generic abstraction. On the other hand, it has been already noted that the well-known concept of complete abstract interpretation is related to strong preservation of abstract model checking. This paper establishes a precise correspondence between complete abstract interpretation and strongly preserving abstract model checking, by showing that the problem of minimally refining an abstract model checking in order to get strong preservation can be formulated as a complete domain refinement in abstract interpretation, which always admits a fixpoint solution. As a consequence of these results, we show that some well-known behavioural equivalences used in process algebra like simulation and bisimulation can be elegantly characterized in pure abstract interpretation as completeness properties.

References

  1. 1.
    Bloom, B., Paige, R.: Transformational design and implementation of a new efficient solution to the ready simulation problem. Sci. Comp. Program. 24(3), 189–220 (1995)Google Scholar
  2. 2.
    Browne, M.C., Clarke, E.M., Grumberg, O.: Characterizing finite Kripke structures in propositional temporal logic. TCS 59, 115–131 (1988)MATHCrossRefMathSciNetGoogle Scholar
  3. 3.
    Bustan, D., Grumberg, O.: Simulation-based minimization. ACM TOCL 4(2), 181–204 (2003)CrossRefMathSciNetGoogle Scholar
  4. 4.
    Clarke, E.M., Grumberg, O., Jha, S., Lu, Y., Veith, H.: Counterexample-guided abstraction refinement. In: Emerson, E.A., Sistla, A.P. (eds.) CAV 2000. LNCS, vol. 1855, pp. 154–169. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  5. 5.
    Clarke, E.M., Grumberg, O., Long, D.: Model checking and abstraction. ACM TOPLAS 16(5), 1512–1542 (1994)CrossRefGoogle Scholar
  6. 6.
    Clarke, E.M., Grumberg, O., Peled, D.A.: Model checking. The MIT Press, Cambridge (1999)Google Scholar
  7. 7.
    Cousot, P., Cousot, R.: Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints. In: Proc. 4th ACM POPL, pp. 238–252 (1977)Google Scholar
  8. 8.
    Cousot, P., Cousot, R.: Systematic design of program analysis frameworks. In: Proc. 6th ACM POPL, pp. 269–282 (1979)Google Scholar
  9. 9.
    Cousot, P., Cousot, R.: Temporal abstract interpretation. In: Proc. 27th ACM POPL, pp. 12–25 (2000)Google Scholar
  10. 10.
    Dalla Preda, M.: Completeness and stability in abstract model checking. Master Thesis, Univ. of Verona (2003)Google Scholar
  11. 11.
    Dams, D.: Abstract interpretation and partition refinement for model checking. Ph.D. Thesis, Eindhoven Univ. (1996)Google Scholar
  12. 12.
    Dams, D., Grumberg, O., Gerth, R.: Abstract interpretation of reactive systems. ACM TOPLAS 16(5), 1512–1542 (1997)Google Scholar
  13. 13.
    Giacobazzi, R., Quintarelli, E.: Incompleteness, counterexamples and refinements in abstract model checking. In: Cousot, P. (ed.) SAS 2001. LNCS, vol. 2126, pp. 356–373. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  14. 14.
    Giacobazzi, R., Ranzato, F.: Refining and compressing abstract domains. In: Degano, P., Gorrieri, R., Marchetti-Spaccamela, A. (eds.) ICALP 1997. LNCS, vol. 1256, pp. 771–781. Springer, Heidelberg (1997)Google Scholar
  15. 15.
    Giacobazzi, R., Ranzato, F., Scozzari, F.: Making abstract interpretations complete. J. ACM 47(2), 361–416 (2000)MATHCrossRefMathSciNetGoogle Scholar
  16. 16.
    Groote, J.F., Vaandrager, F.: An efficient algorithm for branching bisimulation and stuttering equivalence. In: Paterson, M. (ed.) ICALP 1990. LNCS, vol. 443, pp. 626–638. Springer, Heidelberg (1990)CrossRefGoogle Scholar
  17. 17.
    Hennessy, M., Milner, R.: Algebraic laws for nondeterminism and concurrency. J. ACM 32(1), 137–161 (1985)MATHCrossRefMathSciNetGoogle Scholar
  18. 18.
    Henzinger, M.R., Henzinger, T.A., Kopke, P.W.: Computing simulations on finite and infinite graphs. In: Proc. 36th FOCS, pp. 453–462 (1995)Google Scholar
  19. 19.
    Loiseaux, C., Graf, S., Sifakis, J., Bouajjani, A., Bensalem, S.: Property preserving abstractions for the verification of concurrent systems. Formal Methods in System Design 6, 1–36 (1995)CrossRefGoogle Scholar
  20. 20.
    Paige, R., Tarjan, R.E.: Three partition refinement algorithms. SIAM J. Comput. 16(6), 973–989 (1987)MATHCrossRefMathSciNetGoogle Scholar
  21. 21.
    Ranzato, F., Tapparo, F.: Generalizing the Paige-Tarjan partition refinement algorithm through abstract interpretation. Univ. of Padova (2004) (manuscript)Google Scholar
  22. 22.
    van Glabbeek, R.J.: The linear time - branching time spectrum. In: Handbook of Process Algebra, pp. 3–99 (2001)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2004

Authors and Affiliations

  • Francesco Ranzato
    • 1
  • Francesco Tapparo
    • 1
  1. 1.Dipartimento di Matematica Pura ed ApplicataUniversità di PadovaPadovaItaly

Personalised recommendations