Verification of Parameterized Systems Using Logic Program Transformations

  • Abhik Roychoudhury
  • K. Narayan Kumar
  • C. R. Ramakrishnan
  • I. V. Ramakrishnan
  • Scott A. Smolka
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1785)


We show how the problem of verifying parameterized systems can be reduced to the problem of determining the equivalence of goals in a logic program. We further show how goal equivalences can be established using induction-based proofs. Such proofs rely on a powerful new theory of logic program transformations (encompassing unfold, fold and goal replacement over multiple recursive clauses), can be highly automated, and are applicable to a variety of network topologies, including uni- and bi-directional chains, rings, and trees of processes. Unfold transformations in our system correspond to algorithmic model-checking steps, fold and goal replacement correspond to deductive steps, and all three types of transformations can be arbitrarily interleaved within a proof. Our framework thus provides a seamless integration of algorithmic and deductive verification at fine levels of granularity.


Model Check Logic Program Mutual Exclusion Safety Property Predicate Symbol 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


  1. AH96.
    R. Alur and T. A. Henzinger, editors. Computer Aided Verification (CAV’ 96), volume 1102 of Lecture Notes in Computer Science, New Brunswick, New Jersey, July 1996. Springer-Verlag. 186zbMATHGoogle Scholar
  2. AK86.
    K. Apt and D. Kozen. Limits for automatic verification of finite-state systems. Information Processing Letters, 15:307–309, 1986. 178CrossRefMathSciNetGoogle Scholar
  3. BCG89.
    M. Browne, E. Clarke, and O. Grumberg. Reasoning about networks with many identical finite-state processes. Information and Computation, 81(1):13–31, 1989. 174zbMATHCrossRefMathSciNetGoogle Scholar
  4. BSW00.
    S. Basu, S.A. Smolka, and O.R. Ward. Model checking the Java meta-locking algorithm. In IEEE International Conference on the Engineering of Computer Based Systems. IEEE Press, April 2000. 185Google Scholar
  5. CGJ95.
    E. Clarke, O. Grumberg, and S. Jha. Verifying parametrized networks using abstraction and regular languages. In CONCUR, LNCS 962, 1995. 174Google Scholar
  6. Dil96.
    D. L. Dill. The Murϕ verification system. In T. A. Henzinger, editors. Computer Aided Verification (CAV’ 96), volume 1102 of Lecture Notes in Computer Science, New Brunswick, New Jersey, July 1996 Alur and Henzinger [AH96], pages 390–393. 172Google Scholar
  7. DP99.
    G. Delzanno and A. Podelski. Model checking in CLP. In TACAS’99, volume LNCS 1579, pages 74–88. Springer-Verlag, March 1999. 172Google Scholar
  8. DRS99.
    X. Du, C.R. Ramakrishnan, and S.A. Smolka. Tabled resolution + constraints: A recipe for model checking real-time systems. Technical report, Dept. of Computer Science, SUNY Stony Brook,, 1999. 173
  9. DSC99.
    X. Du, S. A. Smolka, and R. Cleaveland. Local model checking and protocol analysis. Software Tools for Technology Transfer, 1999. 185Google Scholar
  10. EN95.
    E. Emerson and K.S. Namjoshi. Reasoning about rings. In POPL, pages 85–94, 1995. 174Google Scholar
  11. GS96.
    S. Graf and H. Saidi. Verifying invariants using theorem proving. In T. A. Henzinger, editors. Computer Aided Verification (CAV’ 96), volume 1102 of Lecture Notes in Computer Science, New Brunswick, New Jersey, July 1996 Alur and Henzinger [AH96]. 174Google Scholar
  12. Hol97.
    G. J. Holzmann. The model checker SPIN. IEEE Transactions on Software Engineering, 23(5):279–295, May 1997. 172CrossRefMathSciNetGoogle Scholar
  13. ID99.
    C. N. Ip and D. L. Dill. Verifying systems with replicated components in Murϕ. Formal Methods in System Design, 14(3), May 1999. 174Google Scholar
  14. KM95.
    R.P. Kurshan and K. Mcmillan. A structural induction theorem for processes. Information and Computation, 117:1–11, 1995. 174zbMATHCrossRefMathSciNetGoogle Scholar
  15. KMM+97._Y. Kesten, O. Maler, M. Marcus, A. Pnueli, and E. Shahar. Symbolic model-checking with rich assertional languages. In CAV, LNCS 1254, 1997. 174Google Scholar
  16. LHR97.
    D. Lesens, N. Halbwachs, and P. Raymond. Automatic verification of parametrized linear networks of processes. In POPL, pages 346–357, 1997. 174Google Scholar
  17. Llo93.
    J.W. Lloyd. Foundations of Logic Programming, Second Edition. Springer-Verlag, 1993. 176Google Scholar
  18. McM93.
    K. L. McMillan. Symbolic Model Checking. Kluwer Academic, 1993. 174Google Scholar
  19. Mil89.
    R. Milner. Communication and Concurrency. International Series in Computer Science. Prentice Hall, 1989. 176Google Scholar
  20. OSR92.
    S. Owre, N. Shankar, and J. Rushby. PVS: A Prototype Verification System. Proceedings of CADE, 1992. 174Google Scholar
  21. PP99.
    A. Pettorossi and M. Proietti. Synthesis and transformation of logic programs using unfold/fold proofs. Journal of Logic Programming, 41, 1999. 174Google Scholar
  22. RKRR99a.
    A. Roychoudhury, K. Narayan Kumar, C.R. Ramakrishnan, and I.V. Ramakrishnan. Beyond Tamaki-Sato style unfold/fold transformations for normal logic programs. In ASIAN, LNCS 1742, pages 322–333, 1999. 176Google Scholar
  23. RKRR99b.
    A. Roychoudhury, K. Narayan Kumar, C.R. Ramakrishnan, and I.V. Ramakrishnan. A parameterized unfold/fold transformation framework for definite logic programs. In PPDP, LNCS 1702, pages 396–413, 1999. 173, 178, 179Google Scholar
  24. Roy99.
    A. Roychoudhury. Program transformations for automated verification of parameterized concurrent systems. Technical report, Department of Computer Science, State University of New York at Stony Brook,, 1999. Dissertation proposal. 179, 182
  25. RRR+97._Y.S. Ramakrishna, C.R. Ramakrishnan, I.V. Ramakrishnan, S.A. Smolka, T. Swift, and D.S. Warren. Efficient model checking using tabled resolution. In CAV, LNCS 1254, 1997. 172, 176Google Scholar
  26. RSS95.
    S. Rajan, N. Shankar, and M. K. Srivas. An integration of model checking with automated proof checking. In CAV, LNCS 939, 1995. 174Google Scholar
  27. Urb96.
    L. Urbina. Analysis of hybrid systems in CLP(R). In Constraint Programming (CP’96), volume LNCS 1102. Springer-Verlag, 1996. 172Google Scholar
  28. WL89.
    P. Wolper and V. Lovinfosse. Verifying properties of large sets of processes with network invariants. In Automatic Verification Methods for Finite State Systems, LNCS 407, 1989. 174Google Scholar
  29. XSB99.
    The XSB logic programming system v2.01, 1999. Available by anonymous ftp from 185

Copyright information

© Springer-Verlag Berlin Heidelberg 2000

Authors and Affiliations

  • Abhik Roychoudhury
    • 1
  • K. Narayan Kumar
    • 2
  • C. R. Ramakrishnan
    • 1
  • I. V. Ramakrishnan
    • 1
  • Scott A. Smolka
    • 1
  1. 1.Dept. of Computer ScienceSUNY Stony BrookStony BrookUSA
  2. 2.Chennai Mathematical InstituteChennaiIndia

Personalised recommendations