
932 S Symbolic Model Checking
3. Vapnik, V.: The Nature of Statistical Learning Theory. Springer,
New York (1995)
4. Cortes, C., Vapnik, V.: Support-vector network. Mach. Learn. 20,
273–297 (1995)
5. Hastie, T., Rosset, S., Tibshirani, R., Zhu, J.: The entire regulariza-
tion path for the support vector machine. J. Mach. Learn. Res.
5, 1391–1415 (2004)
6. Drucker, H., Burges, C.J.C., Kaufman, L., Smola, A., Vapnik, V.:
Support Vector Regression Machines. Adv. Neural. Inf. Process.
Syst. (NIPS) 9, 155–161 MIT Press (1997)
7. Platt, J.: Fast training of support vector machines using se-
quential minimal optimization. In: Schölkopf, B., Burges, C.J.C.,
Smola, A.J. (eds.) Advances in Kernel Methods Support Vector
Learning. pp 185–208. MIT Press, Cambridge (1999)
8. Shawe-Taylor, J., Cristianini, N.: Kernel Methods for Pattern
Analysis. Cambridge University Press, Cambridge. Book web-
site: www.kernel-methods.net (2004)
9. Scholkopf, B., Smola, A.J.: Learning with Kernels. MIT Press,
Cambridge (2002)
10. Lanckriet, G.R.G., Cristianini,N., Bartlett, P., El Ghaoui, L., Jordan,
M.I.: Learning the Kernel Matrix with Semidefinite Program-
ming. J. Mach. Learn. Res. 5, 27–72 (2004)
11. Joachims, T.: Text categorization with support vector ma-
chines. In: Proceedings of European Conference on Machine
Learning (ECML) Chemnitz (1998)
12. Dumais, S., Platt, J., Heckerman, D., Sahami, M.: Inductive learn-
ing algorithms and representations for text categorization. In:
7th International Conference on Information and Knowledge
Management (1998)
13. LeCun,Y.,Jackel,L.D.,Bottou,L.,Brunot,A.,Cortes,C.,Denker,
J.S.,Drucker,H.,Guyon,I.,Muller,U.A.,Sackinger,E.,Simard,
P., Vapnik, V.: Comparison of learning algorithms for handwrit-
ten digit recognition. In: Fogelman-Soulie F., Gallinari P. (eds.),
Proceedings International Conference on Artificial Neural Net-
works (ICANN) 2, 5360. EC2 (1995)
14. Jaakkola, T.S., Haussler, D.: Probabilistic kernel regression mod-
els. In: Proceedings of the 1999 Conference on AI and Statistics
Fort Lauderdale (1999)
15. Brown, M., Grundy, W., Lin, D., Cristianini, N., Sugnet, C., Furey,
T., Ares Jr., M., Haussler, D.: Knowledge-based analysis of mir-
coarray gene expression data using support vector machines.
In: Proceedings of the National Academy of Sciences 97(1),
262–267 (2000)
Symbolic Model Checking
1990; Burch, Clarke, McMillan, Dill
AMIT PRAKASH
1
,ADNAN AZIZ
2
1
Microsoft, MSN, Redmond, WA, USA
2
Department of Electrical and Computer Engineering,
University of Texas, Austin, TX, USA
Keywords and Synonyms
Formal hardware verification
Problem Definition
Design verification is the process of taking a design
and checking that it works correctly. More specifically,
every design verification paradigm has three compo-
nents [6]—(1.) a language for specifying the design in an
unambiguous way, (2.) a language for specifying proper-
ties that are to be checked of the design, and (3.) a checking
procedure, which determines whether the properties hold
of the design.
The verification problem is very general: it arises in
low-level designs, e. g., checking that a combinational cir-
cuit correctly implements arithmetic, as well as high-level
designs, e. g., checking that a library written in high-level
language correctly implements an abstract data type.
Hardware Verification
The verification of hardware designs is particularly chal-
lenging. Verification is difficult in part because the large
number of concurrent operations, make it very difficult to
conceive of and construct all possible corner-cases, e. g.,
one unit initiating a transaction at the same cycle as an-
other receiving an exception. In addition, software mod-
els used for simulation run orders of several magnitude
slower than the final chip operates at. Faulty hardware
is usually impossible to correct after fabrication, which
means that the cost of a defect is very high, since it takes
several months to go through the process of designing and
fabricating new hardware. Wile et al. [15]provideacom-
prehensive account of hardware verification.
State Explosion
Since the number of state holding elements in digital hard-
ware is bounded, the number of possible states that the
design can be in is infinite, so complete automated ver-
ification is, in principle, possible. However, the number
of states that a hardware design can reach from the ini-
tial state can be exponential in the size of the design; this
phenomenon is referred to as “state explosion.” In par-
ticular, algorithms for verifying hardware that explicitly
record visited states, e. g., in a hash table, have very high
time complexity, making them infeasible for all but the
smallest designs. The problem of complete hardware ver-
ification is known to be PSPACE-hard, which means that
any approach must be based on heuristics.
Hardware Model
A hardware design is formally described using cir-
cuits [4,8]. A combinational circuit consists of Boolean
combinational elements connected by wires. The Boolean