Divide and Compose: SCC Refinement for Language Emptiness

  • Chao Wang
  • Roderick Bloem
  • Gary D. Hachtel
  • Kavita Ravi
  • Fabio Somenzi
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2154)

Abstract

We propose a refinement approach to symbolic SCC analysis, which performs large parts of the computation on abstracted systems, and on small subsets of the state space. For language-emptiness checking, it quickly discards uninteresting parts of the state space; for the remaining states, it adapts the model checking computation to the strength of the SCCs at hand.

We present a general framework for SCC refinement, which uses a compositional approach to generate and refine overapproximations. We show that our algorithm significantly outperforms the one of Emerson and Lei.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. [1]
    R. Bloem, H. N. Gabow, and F. Somenzi. An algorithm for strongly connected component analysis in nlogn symbolic steps. In W. A. Hunt, Jr. and S. D. Johnson, editors, Formal Methods in Computer Aided Design, pages 37–54. Springer-Verlag, November 2000. LNCS 1954.Google Scholar
  2. [2]
    R. Bloem, K. Ravi, and F. Somenzi. Efficient decision procedures for model checking of linear time logic properties. In N. Halbwachs and D. Peled, editors, Eleventh Conference on Computer Aided Verification (CAV’99), pages 222–235. Springer-Verlag, Berlin, 1999. LNCS 1633.Google Scholar
  3. [3]
    R. K. Brayton et al. VIS: A system for verification and synthesis. In T. Henzinger and R. Alur, editors, Eighth Conference on Computer Aided Verification (CAV’96), pages 428–432. Springer-Verlag, Rutgers University, 1996. LNCS 1102Google Scholar
  4. [4]
    R. E. Bryant. Graph-based algorithms for boolean function manipulation. IEEE Transactions on Computers, C-35(8):677–691, August 1986.Google Scholar
  5. [5]
    E. Clarke, O. Grumberg, S. Jha, Y. Lu, and H. Veith. Counterexample-guided abstraction refinement. In E. A. Emerson and A. P. Sistla, editors, Twelfth Conference on Computer Aided Verification (CAV’00), pages 154–169. Springer-Verlag, Berlin, July 2000.CrossRefGoogle Scholar
  6. [6]
    O. Coudert and J. C. Madre. A unified framework for the formal verification of sequential circuits. In Proceedings of the IEEE International Conference on Computer Aided Design, pages 126–129, November 1990.Google Scholar
  7. [7]
    E. A. Emerson and C.-L. Lei. Efficient model checking in fragments of the propositional mu-calculus. In Proceedings of the First Annual Symposium of Logic in Computer Science, pages 267–278, June 1986.Google Scholar
  8. [8]
    R. Hojati, H. Touati, R. P. Kurshan, and R. K. Brayton. Efficient ω-regular language containment. In Computer Aided Verification, pages 371–382, Montréal, Canada, June 1992.Google Scholar
  9. [9]
    J.-Y. Jang. Iterative Abstraction-based CTL Model Checking. PhD thesis, University of Colorado, Department of Electrical and Computer Engineering, 1999.Google Scholar
  10. [10]
    O. Kupferman and M. Y. Vardi. Freedom, weakness, and determinism: From linear-time to branching-time. In Proc. 13th IEEE Symposium on Logic in Computer Science, June 1998.Google Scholar
  11. [11]
    R. P. Kurshan. Computer-Aided Verification of Coordinating Processes. Princeton University Press, Princeton, NJ, 1994.Google Scholar
  12. [12]
    O. Lichtenstein and A. Pnueli. Checking that finite state concurrent programs satisfy their linear specification. In Proceedings of the Twelfth Annual ACM Symposium on Principles of Programming Languages, New Orleans, January 1985.Google Scholar
  13. [13]
    K. L. McMillan. Symbolic Model Checking. Kluwer Academic Publishers, Boston, MA, 1994.Google Scholar
  14. [14]
    I.-H. Moon, J.-Y. Jang, G. D. Hachtel, F. Somenzi, C. Pixley, and J. Yuan. Approximate reachability don’t cares for CTL model checking. In Proceedings of the International Conference on Computer-Aided Design, pages 351–358, San Jose, CA, November 1998.Google Scholar
  15. [15]
    K. Ravi, R. Bloem, and F. Somenzi. A comparative study of symbolic algorithms for the computation of fair cycles. In W. A. Hunt, Jr. and S. D. Johnson, editors, Formal Methods in Computer Aided Design, pages 143–160. Springer-Verlag, November 2000. LNCS 1954.CrossRefGoogle Scholar
  16. [16]
    T. R. Shiple, R. Hojati, A. L. Sangiovanni-Vincentelli, and R. K. Brayton. Heuristic minimization of BDDs using don’t cares. In Proceedings of the Design Automation Conference, pages 225–231, San Diego, CA, June 1994.Google Scholar
  17. [17]
    M. Y. Vardi and P. Wolper. An automata-theoretic approach to automatic program verification. In Proceedings of the First Symposium on Logic in Computer Science, pages 322–331, Cambridge, UK, June 1986.Google Scholar
  18. [18]
    A. Xie and P. A. Beerel. Implicit enumeration of strongly connected components and an application to formal verification. IEEE Transactions on Computer-Aided Design, 19(10):1225–1230, October 2000.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2001

Authors and Affiliations

  • Chao Wang
    • 1
  • Roderick Bloem
    • 1
  • Gary D. Hachtel
    • 1
  • Kavita Ravi
    • 2
  • Fabio Somenzi
    • 1
  1. 1.University of Colorado at BoulderUSA
  2. 2.Cadence Design SystemsUSA

Personalised recommendations