Advertisement

Lifting Temporal Proofs through Abstractions

  • Kedar S. Namjoshi
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2575)

Abstract

Model checking is often performed by checking a transformed property on a suitable finite-state abstraction of the source program. Examples include abstractions resulting from symmetry reduction, data independence, and predicate abstraction. The two programs are linked by a structural relationship, such as simulation or bisimulation, guaranteeing that if the transformed property holds on the abstract program, the property holds on the original program.

Keywords

Model Check Temporal Logic Rank Function Proof System Proof Obligation 
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.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. [APR+01]
    T. Arons, A. Pnueli, S. Ruah, J. Xu, and L. D. Zuck. Parameterized verification with automatically computed inductive assertions. In CAV, volume 2102 of LNCS, 2001.Google Scholar
  2. [BCG88]
    M. Browne, E.M. Clarke, and O. Grumberg. Characterizing finite Kripke structures in propositional temporal logic. Theoretical Computer Science, 59, 1988.Google Scholar
  3. [CE81]
    E.M. Clarke and E. A. Emerson. Design and synthesis of synchronization skeletons using branching time temporal logic. In Workshop on Logics of Programs, volume 131 of LNCS. Springer-Verlag, 1981.Google Scholar
  4. [CFJ93]
    E. M. Clarke, T. Filkorn, and S. Jha. Exploiting symmetry in temporal logic model checking. In CAV, volume 697 of LNCS, 1993.Google Scholar
  5. [DS90]
    E.W. Dijkstra and C.S. Scholten. Predicate Calculus and Program Semantics. Springer Verlag, 1990.Google Scholar
  6. [EJ91]
    E.A. Emerson and C.S. Jutla. Tree automata, mu-calculus and determinacy (extended abstract). In FOCS, 1991.Google Scholar
  7. [EL86]
    E.A. and C-L. Lei. Efficient model checking in fragments of the propositional mu-calculus (extended abstract). In LICS, 1986.Google Scholar
  8. [ES93]
    E. A. Emerson and A. P. Sistla. Symmetry and model checking. In CAV, volume 697 of LNCS, 1993.Google Scholar
  9. [GS97]
    S. Graf and H. Saïdi. Construction of abstract state graphs with PVS. In CAV, volume 1254 of LNCS, 1997.Google Scholar
  10. [HHK96]
    R.H. Hardin, Z. Har’el, and R.P. Kurshan. COSPAN. In CAV, volume 1102 of LNCS, 1996.Google Scholar
  11. [HJM+02]
    T. A. Henzinger, R. Jhala, R. Majumdar, G. C. Necula, G. Sutre, and W. Weimer. Temporal-safety proofs for systems code. In CAV, volume 2404 of LNCS, 2002.Google Scholar
  12. [HJS01]
    M. Huth, R. Jagadeesan, and D. Schmidt. Modal transition systems: a foundation for three-valued program analysis. In ESOP, number 2028 in LNCS, 2001.Google Scholar
  13. [HM85]
    M. Hennessy and R. Milner. Algebriac laws for nondeterminism and concurrency. J.ACM, 1985.Google Scholar
  14. [JW95]
    D. Janin and I. Walukiewicz. Automata for the modal mu-calulus and related results. In MFCS, volume 969 of LNCS, 1995.Google Scholar
  15. [Kel76]
    R.M. Keller. Formal verification of parallel programs. CACM, 1976.Google Scholar
  16. [Koz82]
    D. Kozen. Results on the propositional mu-calculus. In ICALP, volume 140 of LNCS, 1982.Google Scholar
  17. [KP00]
    Y. Kesten and A. Pnueli. Verification by augmented finitary abstraction. Information and Computation, 163(1), 2000.Google Scholar
  18. [LT88]
    K.G. Larsen and B. Thomsen. A modal process logic. In LICS, 1988.Google Scholar
  19. [McM93]
    K. L. McMillan. Symbolic Model Checking. Kluwer Academic Publishers, 1993.Google Scholar
  20. [Men97]
    E. Mendelson. Introduction to Mathematical Logic. Chapman and Hall (4th Edition), 1997.Google Scholar
  21. [Mil71]
    R. Milner. An algebraic definition of simulation between programs. In 2nd IJCAI, 1971.Google Scholar
  22. [Nam01]
    K. S. Namjoshi. Certifying model checkers. In CAV, volume 2102 of LNCS, 2001.Google Scholar
  23. [NL96]
    G.C. Necula and P. Lee. Safe kernel extensions without run-time checking. In OSDI, 1996.Google Scholar
  24. [Par81]
    D. Park. Concurrency and automata on infinite sequences, volume 154 of LNCS. Springer Verlag, 1981.Google Scholar
  25. [PPZ01]
    D. Peled, A. Pnueli, and L. D. Zuck. From falsification to verification. In FSTTCS, volume 2245 of LNCS, 2001.Google Scholar
  26. [Pug92]
    W. Pugh. The Omega test: a fast and practical integer programming algorithm for dependence analysis. CACM, 35(8), 1992. web page: http://www.cs.umd.edu/projects/omega/omega.html.
  27. [QS82]
    J.P. Queille and J. Sifakis. Specification and verification of concurrent systems in CESAR. In Proc. of the 5th International Symposium on Programming, volume 137 of LNCS, 1982.Google Scholar
  28. [RRR00]
    A. Roychoudhury, C.R. Ramakrishnan, and I.V. Ramakrishnan. Justifying proofs using memo tables. In PPDP, 2000.Google Scholar
  29. [SRRS02]
    R. Sekar, C. R. Ramakrishnan, I. V. Ramakrishnan, and S. A. Smolka. Model-carrying code (MCC): A new paradigm for mobile-code security. In New Security Paradigms Workshop, 2002.Google Scholar
  30. [Sti95]
    C. Stirling. Modal and temporal logics for processes. In Ban. Higher Order Workshop, volume 1043 of LNCS. Springer Verlag, 1995.Google Scholar
  31. [TC02]
    L. Tan and R. Cleaveland. Evidence-based model checking. In CAV, volume 2404 of LNCS, 2002.Google Scholar
  32. [Wol86]
    P. Wolper. Expressing interesting properties of programs in propositional temporal logic. In POPL, 1986.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2003

Authors and Affiliations

  • Kedar S. Namjoshi
    • 1
  1. 1.Bell LabsLucent TechnologiesUSA

Personalised recommendations