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

### 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.Google Scholar - 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.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.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.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.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.Google Scholar - 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.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.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.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.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.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.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.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.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.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.J.-Y. Jang, “Iterative abstraction-based CTL model checking,” PhD thesis, University of Colorado, Department of Electrical and Computer Engineering, 1999.Google Scholar
- 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.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.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.Google Scholar - 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.Google Scholar - 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.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.Google Scholar - 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.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.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.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.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.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.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.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.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.
- 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.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.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.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.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