Formal Methods in System Design

, Volume 28, Issue 1, pp 5–36 | Cite as

Compositional SCC Analysis for Language Emptiness

  • Chao Wang
  • Roderick Bloem
  • Gary D. Hachtel
  • Kavita Ravi
  • Fabio Somenzi
Article

Abstract

We propose a refinement approach to language emptiness, which is based on the enumeration and the successive refinements of SCCs on over-approximations of the exact system. Our algorithm is compositional: It performs as much computation as possible on the abstract systems, and prunes uninteresting part of the search space as early as possible. It decomposes the state space disjunctively so that each state subset can be checked in isolation to decide language emptiness for the given system. We prove that the strength of an SCC or a set of SCCs decreases monotonically with composition. This allows us to deploy the proper model checking algorithms according to the strength of the SCC at hand. We also propose to use the approximate distance of a fair cycle from the initial states to guide the search. Experimental studies on a set of LTL model checking problems prove the effectiveness of our method.

Keywords

language emptiness model checking abstraction refinement LTL BDD 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    F. Balarin and A.L. Sangiovanni-Vincentelli, “An iterative approach to language containment,” in C. Courcoubetis, editor, Fifth Conference on Computer Aided Verification (CAV '93). Springer-Verlag, Berlin, 1993. LNCS 697.Google Scholar
  2. 2.
    R. Bloem, H. N. Gabow, and F. Somenzi, “An algorithm for strongly connected component analysis in n log n symbolic steps,” in W.A. Hunt, Jr. and S.D. Johnson (Eds.), Formal Methods in Computer Aided Design, LNCS 1954, Springer-Verlag, pp. 37–54, November 2000.Google Scholar
  3. 3.
    R. Bloem, H.N. Gabow, and F. Somenzi, “An algorithm for strongly connected component analysis in n log n symbolic steps,” Formal Methods in System Design, Vol. 27, No. 2, 2005 (To appear).Google Scholar
  4. 4.
    R. Bloem, K. Ravi, and F. Somenzi, “Efficient decision procedures for model checking of linear time logic properties,” in N. Halbwachs and D. Peled (Eds.), Eleventh Conference on Computer Aided Verification (CAV'99), Springer-Verlag, Berlin, LNCS 1633, 1999, pp. 222–235.Google Scholar
  5. 5.
    R.K. Brayton et al. “VIS: A system for verification and synthesis,” in T. Henzinger and R. Alur (Eds.), Eighth Conference on Computer Aided Verification (CAV'96), Springer-Verlag, Rutgers University, LNCS 1102, 1996, pp. 428–432.Google Scholar
  6. 6.
    R.E. Bryant, “Graph-based algorithms for Boolean function manipulation,” IEEE Transactions on Computers, Vol. C-35, No. 8, pp. 677–691, 1986.Google Scholar
  7. 7.
    P. Chauhan, E. Clarke, J. Kukula, S. Sapra, H. Veith, and D. Wang, “Automated abstraction refinement for model checking large state spaces using SAT based conflict analysis,” in M. D. Aagaard and J. W. O'Leary (Eds.), Formal Methods in Computer Aided Design, Springer-Verlag, LNCS 2517, 2002, pp. 33–51.Google Scholar
  8. 8.
    H. Cho, G. D. Hachtel, E. Macii, M. Poncino, and F. Somenzi, “A state space decomposition algorithm for approximate FSM traversal,” in Proceedings of the European Conference on Design Automation, Paris, France, 1994, pp. 137–141.Google Scholar
  9. 9.
    E. Clarke, O. Grumberg, S. Jha, Y. Lu, and H. Veith, “Counterexample-guided abstraction refinement,” in E.A. Emerson and A.P. Sistla (Eds.), Twelfth Conference on Computer Aided Verification (CAV'00), Berlin, LNCS 1855, Springer-Verlag, pp. 154–169, 2000.Google Scholar
  10. 10.
    E. Clarke, A. Gupta, J. Kukula, and O. Strichman, “SAT based abstraction-refinement using ILP and machine learning,” in E. Brinksma and K.G. Larsen (Eds.), Fourteenth Conference on Computer Aided Verification (CAV'02), LNCS 2404, Springer-Verlag, pp. 265–279, 2002.Google Scholar
  11. 11.
    O. Coudert, C. Berthet, and J.C. Madre, “Verification of sequential machines using Boolean functional vectors,” in L. Claesen (Ed.), Proceedings IFIP International Workshop on Applied Formal Methods for Correct VLSI Design, Leuven, Belgium, pp. 111–128, 1989.Google Scholar
  12. 12.
    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, 1990, pp. 126–129.Google Scholar
  13. 13.
    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, 1986, pp. 267–278.Google Scholar
  14. 14.
    K. Fisler, R. Fraer, G. Kamhi, M. Vardi, and Z. Yang, “Is there a best symbolic cycle-detection algorithm?” in T. Margaria and W. Yi (Eds.), Tools and Algorithms for the Construction and Analysis of Systems, LNCS 2031, Springer-Verlag, pp. 420–434, 2001.Google Scholar
  15. 15.
    R. Gentilini, C. Piazza, and A. Policriti, “Computing strongly connected componenets in a linear number of symbolic steps,” in Symposium on Discrete Algorithms, Baltimore, MD, 2003.Google Scholar
  16. 16.
    A. Gupta, M. Ganai, Z. Yang, and P. Ashar, “Iterative abstraction using SAT-based BMC with proof analysis,” in Proceedings of the International Conference on Computer-Aided Design, 2003, pp. 416–423.Google Scholar
  17. 17.
    R. Hojati, H. Touati, R. P. Kurshan, and R. K. Brayton, “Efficient ω-regular language containment,” in Computer Aided Verification, Montréal, Canada, 1992, pp. 371–382.Google Scholar
  18. 18.
    J.-Y. Jang, “Iterative abstraction-based CTL model checking,” PhD thesis, University of Colorado, Department of Electrical and Computer Engineering, 1999.Google Scholar
  19. 19.
    Y. Kesten, A. Pnueli, and L.-O. Raviv, “Algorithmic verification of linear temporal logic specifications,” in International Colloquium on Automata, Languages, and Programming (ICALP-98), LNCS 1443, Berlin, Springer, pp. 1–16, 1998.Google Scholar
  20. 20.
    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, 1998.Google Scholar
  21. 21.
    R.P. Kurshan, Computer-Aided Verification of Coordinating Processes. Princeton University Press, Princeton, NJ, 1994.Google Scholar
  22. 22.
    W. Lee, A. Pardo, J. Jang, G. Hachtel, and F. Somenzi, “Tearing based abstraction for CTL model checking,” in Proceedings of the International Conference on Computer-Aided Design, San Jose, CA, 1996, pp. 76–81.Google Scholar
  23. 23.
    B. Li, C. Wang, and F. Somenzi, “Abstraction refinement in symbolic model checking using satisfiability as the only decision procedure,” Software Tools for Technology Transfer, Vol. 2, No. 7, pp. 143–155, 2005.Google Scholar
  24. 24.
    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, 1985, pp. 97–107.Google Scholar
  25. 25.
    J. Lind-Nielsen, H.R. Andersen, G. Behrmann, H. Hulgaard, K. Kristoffersen, and K.G. Larsen, “Verification of large state/event systems using compositionality and dependency analysis,” in International Conference on Tools and Algorithms for Construction and Analysis of Systems (TACAS'98), Lisbon, Portugal, LNCS 1384, 1998, pp. 201–216.Google Scholar
  26. 26.
    K. L. McMillan. Symbolic Model Checking, Kluwer Academic Publishers, Boston, MA, 1994.Google Scholar
  27. 27.
    K. L. McMillan and N. Amla, “Automatic abstraction without counterexamples,” in International Conference on Tools and Algorithms for Construction and Analysis of Systems (TACAS'03), Warsaw, Poland, LNCS 2619, 2003, pp. 2–17.Google Scholar
  28. 28.
    R. Milner, “An algebraic definition of simulation between programs,” in Proc. 2nd Int. Joint Conf. on Artificial Intelligence, 1971, pp. 481–489.Google Scholar
  29. 29.
    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, San Jose, CA, 1998, pp. 351–358.Google Scholar
  30. 30.
    A. Pardo and G. D. Hachtel, “Automatic abstraction techniques for propositional μ-calculus model checking,” in O. Grumberg (Ed.), Ninth Conference on Computer Aided Verification (CAV'97), Springer-Verlag, Berlin, LNCS 1254, 1997, pp. 12–23.Google Scholar
  31. 31.
    A. Pardo and G. D. Hachtel, “Incremental CTL model checking using BDD subsetting,” in Proceedings of the Design Automation Conference, San Francisco, CA, 1998, pp. 457–462.Google Scholar
  32. 32.
    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 (Eds.), Formal Methods in Computer Aided Design, Springer-Verlag, 2000. LNCS 1954, pp. 143–160.Google Scholar
  33. 33.
    K. Ravi and F. Somenzi, “High-density reachability analysis,” in Proceedings of the International Conference on Computer-Aided Design, San Jose, CA, 1995, pp. 154–158.Google Scholar
  34. 34.
    F. Somenzi, K. Ravi, and R. Bloem, “Analysis of symbolic SCC hull algorithms,” in M.D. Aagaard and J.W. O'Leary (Eds.), Formal Methods in Computer Aided Design, Springer-Verlag, LNCS 2517, pp. 88–105, 2002.Google Scholar
  35. 35.
    H. J. Touati, R. K. Brayton, and R. P. Kurshan, “Testing language containment for ω-automata using BDD's,” Information and Computation, Vol. 118, No. 1, pp. 101–109, 1995.CrossRefMathSciNetGoogle Scholar
  36. 36.
    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, Cambridge, UK, 1986, pp. 322–331.Google Scholar
  37. 37.
  38. 38.
    C. Wang, R. Bloem, G. D. Hachtel, K. Ravi, and F. Somenzi. “Divide and compose: SCC refinement for language emptiness,” in International Conference on Concurrency Theory (CONCUR01), Berlin, Springer-Verlag, LNCS 2154, August 2001, pp. 456–471.Google Scholar
  39. 39.
    C. Wang and G. D. Hachtel, “Sharp disjunctive decomposition for language emptiness checking,” in M. D. Aagaard and J. W. O'Leary, (Eds.), Formal Methods in Computer Aided Design, Springer-Verlag, LNCS 2517, November 2002, pp. 105–122.Google Scholar
  40. 40.
    C. Wang, B. Li, H. Jin, G. D. Hachtel, and F. Somenzi, “Improving Ariadne's bundle by following multiple threads in abstraction refinement,” in Proceedings of the International Conference on Computer-Aided Design, November 2003, pp. 408–415.Google Scholar
  41. 41.
    D. Wang, P.-H. Ho, J. Long, J. Kukula, Y. Zhu, T. Ma, and R. Damiano, “Formal property verification by abstraction refinement with formal, simulation and hybrid engines,” in Proceedings of the Design Automation Conference, Las Vegas, NV, June 2001, pp. 35–40.Google Scholar
  42. 42.
    A. Xie and P. A. Beerel, “Implicit enumeration of strongly connected components and an application to formal verification,” IEEE Transactions on Computer-Aided Design, Vol. 19, No. 10, pp. 1225–1230, 2000.Google Scholar

Copyright information

© Springer Science + Business Media, Inc. 2006

Authors and Affiliations

  • Chao Wang
    • 1
  • Roderick Bloem
    • 2
  • Gary D. Hachtel
    • 3
  • Kavita Ravi
    • 4
  • Fabio Somenzi
    • 3
  1. 1.NEC Laboratories AmericaPrincetonUSA
  2. 2.Graz University of TechnologyAustria
  3. 3.University of ColoradoBoulderUSA
  4. 4.Cadence Design SystemsUSA

Personalised recommendations