Predicate Abstraction via Rewriting

  • Sandip Ray


We present a predicate abstraction and discovery procedure for proving invariants of reactive systems using a combination of theorem proving and model checking. Our method makes use of term rewriting on the definition of the target system to reduce an invariant proof of the target system to reachability analysis on a finite predicate abstraction, which can be discharged by model checking. The method affords substantial automation in invariant proofs, while preserving the expressiveness and control afforded by theorem proving. We discuss how our approach enables the two disparate techniques, theorem proving and model checking, to complement one another. We demonstrate the use of the procedure in the verification of cache coherence protocols.


Model Check Cache Line Abstract System Reachability Analysis Cache Coherence 
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. 6.
    K. R. Apt and D. Kozen. Limits for Automatic Verification of Finite-State Concurrent Systems. Information Processing Letters, 15:307–307, 1986.MathSciNetCrossRefGoogle Scholar
  2. 9.
    F. Baader and T. Nipkow. Term Rewriting and All that. Cambridge University Press, 1998.Google Scholar
  3. 28.
    R. K. Brayton, G. D. Hachtel, A. L. Sangiovanni-Vincentelli, F. Somenzi, A. Aziz, S. Cheng, S. A. Edwards, S. P. Khatri, Y. Kukimoto, A. Pardo, S. Qadeer, R. K. Ranjan, S. Sarwary, T. R. Shiple, G. Swamy, and T. Villa. VIS: A System for Verification and Synthesis. In R. Alur and T. Henzinger, editors, Proceedings of the 8th International Conference on Computer-Aided Verification (CAV 1996), volume 1102 of LNCS, pages 428–432, New Brunswick, NJ, July 1996. Springer-Verlag.CrossRefGoogle Scholar
  4. 47.
    A. Cimatti, E. M. Clarke, F. Giunchiglia, and M. Roveri. NuSMV: A New Symbolic Model Verifier. In N. Halbwacha and D. Peled, editors, Proceedings of the 11th International Conference on Computer-Aided Verification (CAV 1999), volume 1633 of LNCS, pages 495–499, Trendo, Italy, 1999. Springer-Verlag.CrossRefGoogle Scholar
  5. 54.
    M. Clavel, F. Durán, S. Eker, P. Lincoln, N. Martí-Oliet, J. Meseguer, and J. Quesada. Maude: Specification and Programming in Rewriting Logic. SRI International, 1999.Google Scholar
  6. 72.
    E. A. Emerson and V. Kahlon. Exact and Efficient Verification of Parameterized Cache Coherence Protocols. In D. Geist, editor, Proceedings of the 12th International Conference on Correct Hardware Design and Verification Methods (CHARME 2003), volume 2860 of LNCS, pages 247–262, L’Aquila, Italy, July 2003. Springer-Verlag.Google Scholar
  7. 132.
    M. Kaufmann and R. Sumners. Efficient Rewriting of Data Structures in ACL2. In D. Borrione, M. Kaufmann, and J. S. Moore, editors, Proceedings of 3rd International Workshop on the ACL2 Theorem Prover and Its Applications (ACL2 2002), pages 141–150, Grenoble, France, April 2002.Google Scholar
  8. 137.
    S. K. Lahiri and R. E. Bryant. Constructing Quantified Invariants via Predicate Abstraction. In B. Stefen and G. Levi, editors, Proceedings of the 5th International Conference on Verification, Model Checking and Abstract Interpretation (VMCAI 2004), volume 2937 of LNCS, pages 267–281, Venice, Italy, 2004. Springer-Verlag.Google Scholar
  9. 138.
    S. K. Lahiri and R. E. Bryant. Indexed Predicate Discovery for Unbounded System Verification. In R. Alur and D. A. Peled, editors, Proceedings of the 16th International Conference on Computer-Aided Verification (CAV 2004), volume 3117 of LNCS, pages 135–147, Boston, MA, July 2004. Springer-Verlag.CrossRefGoogle Scholar
  10. 139.
    S. K. Lahiri, R. E. Bryant, and B. Cook. A Symbolic Approach to Predicate Abstraction. In W. A. Hunt, Jr. and F. Somenzi, editors, Proceedings of the 15th International Conference on Computer-Aided Verification, volume 2275 of LNCS, pages 141–153, Boulder, CO, 2003. Springer-Verlag.CrossRefGoogle Scholar
  11. 165.
    K. McMillan. Symbolic Model Checking. Kluwer Academic Publishers, 1993.Google Scholar
  12. 184.
    K. S. Namjoshi and R. P. Kurshan. Syntactic Program Transformations for Automatic Abstraction. In E. A. Emerson and A. P. Sistla, editors, Proceedings of the 12th International Conference on Computer-Aided Verification (CAV 2000), volume 1855 of LNCS, pages 435–449, Chicago, IL, July 2000. Springer-Verlag.CrossRefGoogle Scholar
  13. 205.
    A. Pnueli, S. Ruah, and L. Zuck. Automatic Deductive Verification with Invisible Invariants. In T. Margaria and W. Yi, editors, Proceedings of the 7th International Conference on Tools and Algorithms for Construction and Analysis of Systems (TACAS 2001), volume 2031 of LNCS, pages 82–97, Genova, Italy, 2001. Springer-Verlag.CrossRefGoogle Scholar

Copyright information

© Springer Science+Business Media, LLC 2010

Authors and Affiliations

  1. 1.Department of Computer SciencesUniversity of Texas, AustinAustinUSA

Personalised recommendations