Skip to main content
Log in

Compositional SCC Analysis for Language Emptiness

  • Published:
Formal Methods in System Design Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  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.

  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.

  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).

  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.

  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.

  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. 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.

  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.

  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.

  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.

  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.

  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.

  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.

  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.

  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.

  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.

  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.

  18. J.-Y. Jang, “Iterative abstraction-based CTL model checking,” PhD thesis, University of Colorado, Department of Electrical and Computer Engineering, 1999.

  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.

  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.

  21. R.P. Kurshan, Computer-Aided Verification of Coordinating Processes. Princeton University Press, Princeton, NJ, 1994.

    Google Scholar 

  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.

  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. 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.

  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.

  26. K. L. McMillan. Symbolic Model Checking, Kluwer Academic Publishers, Boston, MA, 1994.

    Google Scholar 

  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.

  28. R. Milner, “An algebraic definition of simulation between programs,” in Proc. 2nd Int. Joint Conf. on Artificial Intelligence, 1971, pp. 481–489.

  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.

  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.

  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.

  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.

  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.

  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.

  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.

    Article  MathSciNet  Google Scholar 

  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.

  37. URL: http://vlsi.colorado.edu/vis.

  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.

  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.

  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.

  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.

  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 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Chao Wang.

Additional information

This work was done when the first two authors were in University of Colorado at Boulder. Parts of this work appeared in preliminary form in [38] and [39].

Rights and permissions

Reprints and permissions

About this article

Cite this article

Wang, C., Bloem, R., Hachtel, G.D. et al. Compositional SCC Analysis for Language Emptiness. Form Method Syst Des 28, 5–36 (2006). https://doi.org/10.1007/s10703-006-4617-3

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10703-006-4617-3

Keywords

Navigation