Abstract
We present an automatic iterative abstraction-refinement methodology in which the initial abstract model is generated by an automatic analysis of the control structures in the program to be verified. Abstract models may admit erroneous (or “spurious”) counterexamples. We devise new symbolic techniques which analyze such counterexamples and refine the abstract model correspondingly. The refinement algorithm keeps the size of the abstract state space small due to the use of abstraction functions which distinguish many degrees of abstraction for each program variable. We describe an implementation of our methodology in NuSMV. Practical experiments including a large Fujitsu IP core design with about 500 latches and 10000 lines of SMV code confirm the effectiveness of our approach.
This research is sponsored by the Semiconductor Research Corporation (SRC) under Contract No. 97-DJ-294, the National Science Foundation (NSF) under Grant No. CCR-9505472, and the Max Kade Foundation. One of the authors is also supported by Austrian Science Fund Project N Z29-INF. Any opinions, findings and conclusions or recommendations expressed in this material are those of the authors and do not necessarily reflect the views of SRC, NSF, or the United States Government.
Chapter PDF
Similar content being viewed by others
Keywords
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.
References
Fujitsu aims media processor at DVD. MicroProcessor Report, pp. 11–13 (1996)
Balarin, F., Sangiovanni-Vincentelli, A.L.: An iterative approach to language containment. In: Courcoubetis, C. (ed.) CAV 1993. LNCS, vol. 697, pp. 29–40. Springer, Heidelberg (1993)
Biere, A., Cimatti, A., Clarke, E., Fujita, M., Zhu, Y.: Symbolic model checking using SAT procedures instead of BDDs. In: Design Automation Conference, pp. 317–320 (1999)
Buccafurri, F., Eiter, T., Gottlob, G., Leone, N.: On ACTL formulas having deterministic counterexamples. Technical report, Vienna University of Technology (1999), available at http://www.kr.tuwien.ac.at/research/reports/index.html
Chauhan, P., Clarke, E., Lu, Y., Wang, D.: Verifying IP-core based System-On-Chip design. In: IEEE ASIC (September 1999)
Cimatti, A., Clarke, E., Giunchiglia, F., Roveri, M.: NuSMV: a new symbolic model checker. Software Tools for Technology Transfer (1998)
Clarke, E., Grumberg, O., Jha, S., Lu, Y., Veith, H.: Counterexample-guided abstraction refinement. Technical Report CMU-CS-00-103, Computer Science, Carnegie Mellon University (2000)
Clarke, E., Grumberg, O., Peled, D.: Model Checking. MIT Publishers, Cambridge (1999)
Clarke, E., Jha, S., Lu, Y., Wang, D.: Abstract BDDs: a technique for using abstraction in model checking. In: Pierre, L., Kropf, T. (eds.) CHARME 1999. LNCS, vol. 1703, pp. 172–187. Springer, Heidelberg (1999)
Clarke, E.M., Grumberg, O., Long, D.E.: Model checking and abstraction. ACM Transactions on Programming Languages and System (TOPLAS) 16(5), 1512–1542 (1994)
Das, S., Dill, D.L., Park, S.: Experience with predicate abstraction. In: Halbwachs, N., Peled, D.A. (eds.) CAV 1999. LNCS, vol. 1633, pp. 160–171. Springer, Heidelberg (1999)
Govindaraju, S.G., Dill, D.L.: Verification by approximate forward and backward reachability. In: Proceedings of International Conference on Computer-Aided Design (November 1998)
Graf, S., Saidi, H.: Construction of abstract state graphs with PVS. In: Grumberg, O. (ed.) CAV 1997. LNCS, vol. 1254, pp. 72–83. Springer, Heidelberg (1997)
Kurshan, R.P.: Computer-AidedVerification of Coordinating Processes. Princeton University Press, Princeton (1994)
Lakhnech, Y.: personal communication (2000)
Lee, W., Pardo, A., Jang, J., Hachtel, G., Somenzi, F.: Tearing based abstraction for CTL model checking. In: Proceedings of the International Conference on Computer-Aided Design, November 1996, pp. 76–81 (1996)
Lind-Nielsen, J., Andersen, H.R.: Stepwise CTL model checking of state/event systems. In: Halbwachs, N., Peled, D.A. (eds.) CAV 1999. LNCS, vol. 1633, pp. 316–327. Springer, Heidelberg (1999)
Pardo, A.: Automatic Abstraction Techniques for FormalVerification of Digital Systems. PhD thesis, University of Colorado at Boulder, Dept. of Computer Science (August 1997)
Pardo, A., Hachtel, G.D.: Incremental CTL model checking using BDD subsetting. In: Design Automation Conference, pp. 457–462 (1998)
Saidi, H., Shankar, N.: Abstract and model checking while you prove. In: Halbwachs, N., Peled, D.A. (eds.) CAV 1999. LNCS, vol. 1633, pp. 443–454. Springer, Heidelberg (1999)
Somenzi, F.: CUDD: CUdecision diagram package. Technical report, University of Colorado at Boulder (1997)
Takayama, K., Satoh, T., Nakata, T., Hirose, F.: An approach to verify a large scale systemn- chip using symbolic model checking. In: International Conference of Computer Design, pp. 308–313 (1998)
Yang, B., et al.: A performance study of BDD-based model checking. In: Gopalakrishnan, G.C., Windley, P. (eds.) FMCAD 1998. LNCS, vol. 1522, pp. 255–289. Springer, Heidelberg (1998)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2000 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Clarke, E., Grumberg, O., Jha, S., Lu, Y., Veith, H. (2000). Counterexample-Guided Abstraction Refinement . In: Emerson, E.A., Sistla, A.P. (eds) Computer Aided Verification. CAV 2000. Lecture Notes in Computer Science, vol 1855. Springer, Berlin, Heidelberg. https://doi.org/10.1007/10722167_15
Download citation
DOI: https://doi.org/10.1007/10722167_15
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-67770-3
Online ISBN: 978-3-540-45047-4
eBook Packages: Springer Book Archive