97
11/8/2007 Daniel Kroening, Sanjit A. Seshia 1 Formal Verification at Higher Levels of Abstraction Daniel Kroening, Oxford University Sanjit A. Seshia, UC Berkeley ICCAD Tutorial November 8, 2007

Formal Verification at Higher Levels of Abstractionsseshia/talks/iccad07...11/8/2007 Daniel Kroening, Sanjit A. Seshia Formal Verification at Higher Levels of Abstraction Daniel Kroening,

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

11/8

/200

7D

an

iel K

roen

ing

, S

an

jit A

. S

esh

ia1

Fo

rmal V

eri

ficati

on

at

Hig

her

Levels

of

Ab

str

acti

on

Dan

iel

Kro

en

ing

, O

xfo

rd U

niv

ers

ity

San

jit

A. S

esh

ia,

UC

Berk

ele

y

ICC

AD

Tu

tori

al

No

ve

mb

er

8,

20

07

11/8

/200

7D

an

iel K

roen

ing

, S

an

jit A

. S

esh

ia2

Th

e S

peakers

Dan

iel K

roen

ing

Co

mp

uti

ng

Lab

ora

tory

Oxfo

rd U

niv

ers

ity

Sa

njit

Se

sh

ia

Ele

ctr

ical E

ng

ineeri

ng

an

d C

om

pu

ter

Scie

nces

Un

ivers

ity o

f C

alifo

rnia

, B

erk

ele

y

Wo

rk d

escri

be

d is jo

int w

ith

ou

r stu

de

nts

& m

an

y c

olla

bo

rato

rs:

R.

Bry

an

t, E

. C

lark

e,

J.

Ou

ak

nin

e,

N.

Sh

ary

gin

a,

O.

Str

ich

ma

n

11/8

/200

7D

an

iel K

roen

ing

, S

an

jit A

. S

esh

ia3

Level o

f A

bstr

acti

on

in

Desig

n

is In

cre

asin

g

Ga

te l

ev

el

(netl

ists

)

Re

gis

ter

Le

ve

l

……

……

Sys

tem

Be

ha

vio

ral

Sys

tem

C,

Sys

tem

Ve

rilo

g,

Tra

ns

ac

tio

na

l m

od

els

, …

Ve

rilo

g,

VH

DL

11/8

/200

7D

an

iel K

roen

ing

, S

an

jit A

. S

esh

ia4

Bu

t F

orm

al V

eri

ficati

on

is S

till

Mo

stl

y a

t B

it-L

evel

Ga

te l

ev

el

(netl

ists

)

Re

gis

ter

Le

ve

l

……

……

Sys

tem

Be

ha

vio

ral

Mo

del ch

eck

11/8

/200

7D

an

iel K

roen

ing

, S

an

jit A

. S

esh

ia5

Th

is T

alk

: F

orm

al V

eri

ficati

on

at

Wo

rd-L

evel o

r T

erm

-Level

Ga

te l

ev

el

(netl

ists

)

Re

gis

ter

Le

ve

l

……

……

Sys

tem

Be

ha

vio

ral

Mo

del ch

eck

� ���� ���

11/8

/200

7D

an

iel K

roen

ing

, S

an

jit A

. S

esh

ia6

Ou

tlin

e

�B

it-V

ec

tor

De

cis

ion

Pro

ce

du

res

�T

erm

-Le

ve

l M

od

eli

ng

�W

ord

-le

ve

l P

red

ica

te A

bs

tra

cti

on

�In

terp

ola

tio

n

11/8

/200

7D

an

iel K

roen

ing

, S

an

jit A

. S

esh

ia7

Reg

iste

r-L

evel V

eri

log

:

module

counte

r_cell(

clk

, carr

y_in

,

carr

y_out)

;

input clk

;

input carr

y_in

;

outp

ut carr

y_out;

reg v

alu

e;

assig

n c

arr

y_out =

valu

e &

carr

y_in

;

initia

l valu

e =

0;

alw

ays @

(posedge c

lk)

begin

// v

alu

e =

(valu

e +

carr

y_in

) %

2;

case(v

alu

e)

0: valu

e =

carr

y_in

;

1: if (

carr

y_in

==

0)

valu

e =

1;

els

e v

alu

e =

0;

endcase

end

endm

odule

Reg

iste

r-L

evel V

eri

log

:

module

counte

r_cell(

clk

, carr

y_in

,

carr

y_out)

;

input clk

;

input carr

y_in

;

outp

ut carr

y_out;

reg v

alu

e;

assig

n c

arr

y_out =

valu

e &

carr

y_in

;

initia

l valu

e =

0;

alw

ays @

(posedge c

lk)

begin

// v

alu

e =

(valu

e +

carr

y_in

) %

2;

case(v

alu

e)

0: valu

e =

carr

y_in

;

1: if (

carr

y_in

==

0)

valu

e =

1;

els

e v

alu

e =

0;

endcase

end

endm

odule

Gate

Level (n

etl

ist)

:

.model counter_cell

.inputs carry_in

.outputs carry_out

.names value carry_in _n2

.def 0

1 1 1

.names _n2 carry_out$raw_n1

-=_n2

.names value$raw_n3

0 .names _n6

0 .names value _n6 _n7

.def 0

0 1 1

1 0 1

.r value$raw_n3 value

0 0

1 1

….. (120 lines)

Gate

Level (n

etl

ist)

:

.model counter_cell

.inputs carry_in

.outputs carry_out

.names value carry_in _n2

.def 0

1 1 1

.names _n2 carry_out$raw_n1

-=_n2

.names value$raw_n3

0 .names _n6

0 .names value _n6 _n7

.def 0

0 1 1

1 0 1

.r value$raw_n3 value

0 0

1 1

….. (120 lines)

11/8

/200

7D

an

iel K

roen

ing

, S

an

jit A

. S

esh

ia8

Bit

-le

vel v

s. W

ord

-le

vel

Exa

mp

le b

it-l

eve

l in

terp

ola

tio

n:

Initia

l: i=j+1;

i<=i+1;

j<=j+1;

assert i>j

P1

assert i!=j;

P2

assert i==j+1

P3

+ o

verf

low

pre

vention

4 b

its

8 b

its

16 b

its

P1

37s

>1h

>1h

P2

4s

27s

1:0

9m

P3

4s

1:3

4m

2:5

4m

11/8

/200

7D

an

iel K

roen

ing

, S

an

jit A

. S

esh

ia9

Veri

ficati

on

Tasks o

f In

tere

st

�A

ssert

ion

-based

Veri

ficati

on

(A

BV

)

�S

eq

uen

tial E

qu

ivale

nce C

he

ckin

g (

SE

C)

Pro

pe

rty

1122

Bo

th f

or

ha

rdw

are

an

d

em

be

dd

ed

s

oft

wa

re

11/8

/200

7D

an

iel K

roen

ing

, S

an

jit A

. S

esh

ia10

Co

ntr

asti

ng

Levels

of

Fo

rmal

Veri

fica

tio

n

SM

T s

olv

ers

, P

red

ica

te

ab

str

ac

tio

n

Ab

str

ac

tio

n

ba

sed

on

:

�T

yp

es

�P

red

ica

tes

Wo

rd/T

erm

-L

ev

el

SA

T, B

DD

sT

ran

slite

rati

on

, w

ith

o

pti

miz

ati

on

sB

it-L

ev

el

Co

mp

uta

tio

nal

En

gin

es

Mo

del

Gen

era

tio

nL

evel

of

Ab

str

acti

on

11/8

/200

7D

an

iel K

roen

ing

, S

an

jit A

. S

esh

ia11

Co

ntr

asti

ng

Levels

of

Fo

rmal

Veri

fica

tio

n

SM

T s

olv

ers

, P

red

ica

te

ab

str

ac

tio

n

Ab

str

ac

tio

n

ba

sed

on

:

�T

yp

es

�P

red

ica

tes

Wo

rd/T

erm

-L

ev

el

SA

T, B

DD

sT

ran

slite

rati

on

, w

ith

o

pti

miz

ati

on

sB

it-L

ev

el

Co

mp

uta

tio

nal

En

gin

es

Mo

del

Gen

era

tio

nL

evel

of

Ab

str

acti

on

11/8

/200

7D

an

iel K

roen

ing

, S

an

jit A

. S

esh

ia12

Ou

tlin

e

�T

erm

-Le

ve

l M

od

eli

ng

�B

it-V

ec

tor

De

cis

ion

Pro

ce

du

res

�W

ord

-Le

ve

l P

red

ica

te A

bs

tra

cti

on

�In

terp

ola

tio

n

11/8

/200

7D

an

iel K

roen

ing

, S

an

jit A

. S

esh

ia13

Term

/Wo

rd-L

evel M

od

elin

g

Co

ns

tru

ct

Wo

rd-L

evel

Term

-Leve

l

Da

ta

x0 x1

x2

xn

-1

nx

0 x1

x2

xn

-1

∈ ∈ ∈ ∈ Z ZZZ

Fu

nc

tio

n⊕ ⊕⊕⊕

n nn

f

Me

mo

rie

s

. . .n

fin

ite

Ma

M(a

)M

a1 0

wd

=w

a

rea

dw

rite

11/8

/200

7D

an

iel K

roen

ing

, S

an

jit A

. S

esh

ia14

Mo

tivati

ng

Exam

ple

�D

oe

s p

ipelin

ed

mic

rop

roces

so

r im

ple

men

t seq

uen

tial

refe

ren

ce m

od

el?

�S

trate

gy

�V

eri

fy b

y c

orr

es

po

nd

en

ce

ch

ec

kin

g [

Bu

rch

& D

ill, C

AV

’94]

�R

ep

res

en

t m

ac

hin

e i

ns

tru

cti

on

s,

da

ta,

an

d p

ipe

lin

e s

tate

a

s b

it v

ec

tors

�F

un

cti

on

al

blo

cks l

ike A

LU

ab

str

acte

d w

ith

un

inte

rpre

ted

fun

cti

on

s

Re

g.

Fil

e

IF/ID

Ins

trM

em

+4P

CID

/EX

A L U

EX

/WB

= =

Rd

Ra

Rb

Imm

Op

Ad

at

Co

ntr

ol

Co

ntr

ol

Re

g.

Fil

e

IF/ID

Ins

trM

em

+4P

CID

/EX

A L U

EX

/WB

= =

Rd

Ra

Rb

Imm

Op

Ad

at

Co

ntr

ol

Co

ntr

ol

Re

g.

Fil

e

Ins

trM

em

+4

A L U

Rd

Ra

Rb

Imm

Op

Ad

at

Co

ntr

ol

Bd

at

Re

g.

Fil

e

Ins

trM

em

+4

A L U

Rd

Ra

Rb

Imm

Op

Ad

at

Co

ntr

ol

Bd

at

Pip

eli

ned

Mic

rop

rocesso

rS

eq

uen

tial

Refe

ren

ce M

od

el

11/8

/200

7D

an

iel K

roen

ing

, S

an

jit A

. S

esh

ia15

UC

LID

�T

erm

-level

an

d w

ord

-level

mo

deli

ng

an

d v

eri

ficati

on

is

im

ple

men

ted

in

th

e U

CL

ID V

eri

ficati

on

Syste

m

(a jo

int

UC

Berk

ele

y –

CM

U p

roje

ct)

htt

p:/

/ucli

d.e

ecs.b

erk

ele

y.e

du

/wik

i

�H

ere

we w

ill fo

cu

s o

n t

he c

om

pu

tati

on

al en

gin

e f

or

wo

rd-l

evel

reaso

nin

g

�D

ec

isio

n p

roc

ed

ure

fo

r b

it-v

ec

tor

ari

thm

eti

c

11/8

/200

7D

an

iel K

roen

ing

, S

an

jit A

. S

esh

ia16

Fo

cu

s:

Bit

-Vecto

r A

rith

meti

c

�B

it V

ecto

r F

orm

ula

s

�T

yp

es

: F

ixe

d w

idth

da

ta w

ord

s

�A

rith

me

tic

an

d r

ela

tio

na

l o

pe

rati

on

s�

E.g

., a

dd

/su

btr

act/

mu

ltip

ly/d

ivid

e/m

od

& c

om

pari

so

ns

�T

wo

’s c

om

ple

men

t, u

nsig

ned

, …

�B

it-w

ise

lo

gic

al

op

era

tio

ns

�E

.g., b

it-w

ise a

nd

/or/

xo

r, s

hif

t, e

xtr

act/

co

ncate

nate

�B

oo

lea

n c

on

ne

cti

ve

s

�M

an

y A

pp

licati

on

s f

or

bo

th H

ard

ware

an

d S

oft

ware

�F

orm

al

ve

rifi

ca

tio

n o

f h

ard

wa

re d

es

ign

s�

Based

on

mo

del ch

eckin

g, eq

uiv

ale

nce c

heckin

g,

theo

rem

pro

vin

g, …

�S

oft

wa

re m

od

el

ch

ec

kin

g &

sta

tic

an

aly

sis

�T

es

t/e

xp

loit

ge

ne

rati

on

�G

en

era

tin

g s

ign

atu

res

of

ma

lwa

re(w

orm

s/v

iru

se

s/…

)

11/8

/200

7D

an

iel K

roen

ing

, S

an

jit A

. S

esh

ia17

Th

e P

rob

lem

x+

2 z

≤ ≤≤≤1

x%

26 =

v

w&

0xF

FF

F =

x

x=

y

∨ ∨∨∨

∧ ∧∧∧

¬ ¬¬¬

∨ ∨∨∨

∧ ∧∧∧

∨ ∨∨∨

aϕ ϕϕϕ

Is ϕ

sati

sfi

ab

le?

E.g

.: A

ny V

eri

log

/C B

oo

lean

exp

res

sio

n

11/8

/200

7D

an

iel K

roen

ing

, S

an

jit A

. S

esh

ia18

Decis

ion

Pro

ced

ure

s/S

MT

So

lvers

�C

ore

te

ch

no

log

y f

or

form

al

rea

so

nin

g

�B

oo

lean

SA

T

�P

ure

Bo

ole

an

fo

rmu

la

�S

AT

Mo

du

lo T

heo

ries (

SM

T)

�D

ec

ide

mo

re e

xp

res

siv

e (

firs

t-o

rde

r) l

og

ics

�E

xa

mp

le t

he

ori

es

�L

inear

ari

thm

eti

c o

ver

reals

or

inte

gers

�F

un

cti

on

s w

ith

eq

uality

�B

it v

ecto

r ari

thm

eti

c�

Arr

ay/m

em

ory

op

era

tio

ns

�C

om

bin

ati

on

s o

f th

eo

ries

Form

ula

Form

ula

Decis

ion

Pro

cedure

Satisfy

ing s

olu

tion

Unsatisfiable

(+ p

roof)

Mo

st

SM

T S

olv

ers

tran

sla

te t

o S

AT

!

11/8

/200

7D

an

iel K

roen

ing

, S

an

jit A

. S

esh

ia19

UC

LID

Exp

eri

en

ce w

ith

SA

T S

olv

ing

3600

766

147

118

8146

19

0

1,00

0

2,00

0

3,00

0

Gra

sp (2000

)zChaff

(2001

)

BerkM

in (2

002)

zChaf

f (200

3-04) Sie

ge (2

004)

SatElit

eGTI (

2005)

Rsat (2

007)

Run-time (sec.)

(on

a s

ing

le b

en

ch

mark

)

11/8

/200

7D

an

iel K

roen

ing

, S

an

jit A

. S

esh

ia20

BV

Decis

ion

Pro

ced

ure

s:

So

me H

isto

ry�

B.C

. (B

efo

re C

haff

)

�S

trin

g o

pe

rati

on

s (

co

nc

ate

na

te,

fie

ld e

xtr

ac

tio

n)

�L

ine

ar

ari

thm

eti

c w

ith

bo

un

ds

ch

ec

kin

g

�M

od

ula

r a

rith

me

tic

�S

AT

-Bas

ed

“B

it B

lasti

ng

�G

en

era

te B

oo

lea

n c

irc

uit

ba

se

d o

n b

it-l

ev

el

be

ha

vio

r o

f o

pe

rati

on

s

�C

on

ve

rt t

o C

on

jun

cti

ve

No

rma

l F

orm

(C

NF

) a

nd

ch

ec

k

wit

h b

es

t a

va

ila

ble

SA

T c

he

ck

er

�H

an

dle

s a

rbit

rary

op

era

tio

ns

�E

ffe

cti

ve

in

ma

ny a

pp

lic

ati

on

s�

CB

MC

[C

lark

e, K

roen

ing

, L

erd

a, T

AC

AS

’04]

�M

icro

so

ft C

og

en

t +

SL

AM

[C

oo

k, K

roen

ing

, S

hary

gin

a,

CA

V ’05]

�C

VC

-Lit

e[D

ill, B

arr

ett

, G

an

esh

], Y

ices

[deM

ou

ra, et

al]

, S

TP

(earl

y v

ers

ion

) [G

an

esh

& D

ill]

11/8

/200

7D

an

iel K

roen

ing

, S

an

jit A

. S

esh

ia21

Researc

h C

hallen

ge

�Is

th

ere

a b

ett

er

way t

han

bit

bla

sti

ng

?

�R

eq

uir

em

en

ts

�P

rov

ide

sa

me

fu

nc

tio

na

lity

as

wit

h b

it b

las

tin

g�

Mu

st

su

pp

ort

all b

it-v

ecto

r o

pera

tors

�E

xp

loit

wo

rd-l

ev

el

str

uc

ture

�Im

pro

ve

on

pe

rfo

rma

nc

e o

f b

it b

las

tin

g

�C

urr

en

t A

pp

roach

es

based

on

tw

o c

ore

id

eas:

1.

Sim

pli

fic

ati

on

: S

imp

lify

in

pu

t fo

rmu

la u

sin

g w

ord

-le

ve

l re

wri

te r

ule

s a

nd

so

lve

rs

2.

Ab

str

ac

tio

n:

Us

e a

uto

ma

tic

ab

str

ac

tio

n-r

efi

ne

me

nt

to

so

lve

sim

pli

fie

d f

orm

ula

11/8

/200

7D

an

iel K

roen

ing

, S

an

jit A

. S

esh

ia22

Bit

-Vec

tor

Dec

isio

n P

roced

ure

s,

cir

ca

2007

�C

urr

en

t T

ech

niq

ues w

ith

Sam

ple

To

ols

�P

roo

f-b

as

ed

ab

str

ac

tio

n-r

efi

ne

me

nt

–U

CL

ID

[Bry

an

t et

al., T

AC

AS

’07]

�S

olv

er

for

lin

ea

r m

od

ula

r a

rith

me

tic

to s

imp

lify

th

e

form

ula

–S

TP

[G

an

esh

& D

ill, C

AV

’07]

�C

ou

nte

rex

am

ple

-gu

ide

d a

bs

tra

cti

on

-re

fin

em

en

t,

lay

ere

d a

pp

roa

ch

, re

wri

tin

g–

Ma

thS

AT

[Bru

tto

messo

et

al, C

AV

’07]

�A

uto

ma

tic

pa

ram

ete

r tu

nin

g–

Sp

ea

r [H

utt

er

et

al.,

FM

CA

D ’07]

11/8

/200

7D

an

iel K

roen

ing

, S

an

jit A

. S

esh

ia23

Ab

str

acti

on

-Refi

nem

en

t A

pp

roach

�D

ecid

ing

Bit

-Vecto

r A

rith

meti

c w

ith

Ab

str

acti

on

�[B

rya

nt,

Kro

en

ing

, O

ua

kn

ine

, S

es

hia

, S

tric

hm

an

, B

rad

y,

TA

CA

S ’

07

]

�U

se

bit

bla

sti

ng

as

co

re t

ec

hn

iqu

e

�A

pp

ly t

o s

imp

lifi

ed

ve

rsio

ns

of

form

ula

: u

nd

er

an

d o

ve

r a

pp

rox

ima

tio

ns

�G

en

era

te s

uc

ce

ss

ive

ap

pro

xim

ati

on

s u

nti

l a

so

luti

on

is

fo

un

d o

r fo

rmu

la s

ho

wn

un

sa

tis

fia

ble

�In

sp

ired

by M

cM

illa

n &

Am

la’s

pro

of-

based

ab

str

acti

on

fo

r fi

nit

e-s

tate

mo

del

ch

eckin

g

11/8

/200

7D

an

iel K

roen

ing

, S

an

jit A

. S

esh

ia24

Ap

pro

xim

ati

on

s t

o F

orm

ula

�E

xam

ple

Ap

pro

xim

ati

on

Tech

niq

ues

�U

nd

era

pp

rox

ima

tin

g�

Restr

ict

wo

rd-l

evel vari

ab

les t

o s

maller

ran

ges o

f valu

es

�O

ve

rap

pro

xim

ati

ng

�R

ep

lace s

ub

form

ula

wit

h B

oo

lean

vari

ab

le

ϕO

rig

inal F

orm

ula

ϕ⇒

ϕ+

Ove

rap

pro

xim

ati

on

ϕ+

Mo

re s

olu

tio

ns:

If u

nsati

sfi

ab

le,

then

so

is ϕ

Un

dera

pp

roxim

ati

on

ϕ−⇒

ϕ

ϕ−

Few

er

so

luti

on

s:

Sati

sfy

ing

so

luti

on

als

o s

ati

sfi

es ϕ

11/8

/200

7D

an

iel K

roen

ing

, S

an

jit A

. S

esh

ia25

Sta

rtin

g Ite

rati

on

s

�In

itia

l U

nd

era

pp

roxim

ati

on

�(G

rea

tly)

res

tric

t ra

ng

es

of

wo

rd-l

ev

el

va

ria

ble

s

�In

tuit

ion

: S

ati

sfi

ab

lefo

rmu

la o

fte

n h

as

sm

all

-do

ma

in

so

luti

on

ϕ ϕ1−

11/8

/200

7D

an

iel K

roen

ing

, S

an

jit A

. S

esh

ia26

Fir

st

Half

of

Itera

tio

n

�S

AT

Re

su

lt f

or

ϕ1−

�S

ati

sfi

ab

le�

Th

en

have f

ou

nd

so

luti

on

fo

r ϕ ϕϕϕ

�U

ns

ati

sfi

ab

le�

Use U

NS

AT

pro

of

to g

en

era

te o

vera

pp

roxim

ati

on

ϕ ϕϕϕ1+

�(D

escri

bed

late

r)

ϕ ϕ1−

If S

AT

, th

en

do

ne

ϕ1+

UN

SA

T p

roof:

genera

te

overa

ppro

xim

ation

11/8

/200

7D

an

iel K

roen

ing

, S

an

jit A

. S

esh

ia27

Seco

nd

Half

of

Itera

tio

n

�S

AT

Re

su

lt f

or

ϕ1+

�U

ns

ati

sfi

ab

le�

Th

en

have s

ho

wn

ϕ ϕϕϕu

nsati

sfi

ab

le

�S

ati

sfi

ab

le�

So

luti

on

in

dic

ate

s v

ari

ab

le r

an

ges t

hat

mu

st

be e

xp

an

ded

�G

en

era

te r

efi

ned

un

dera

pp

roxim

ati

on

ϕ ϕ1−

If U

NS

AT

, th

en

do

ne

ϕ1+

SA

T:

Use s

olu

tion t

o g

enera

te

refined u

ndera

ppro

xim

ation

ϕ2−

11/8

/200

7D

an

iel K

roen

ing

, S

an

jit A

. S

esh

ia28

Itera

tive B

eh

avio

r

�U

nd

era

pp

roxim

ati

on

s

�S

uc

ce

ss

ive

ly m

ore

pre

cis

e

ab

str

ac

tio

ns

of

ϕ

�A

llo

w w

ide

r v

ari

ab

le

ran

ge

s

�O

vera

pp

roxim

ati

on

s

�N

o p

red

icta

ble

re

lati

on

�U

NS

AT

pro

of

no

t u

niq

ue

ϕ

ϕ1−

ϕ1+ ϕ

2−

• • •

ϕk−

ϕ2+

ϕk+

• •••• •••

• •••

11/8

/200

7D

an

iel K

roen

ing

, S

an

jit A

. S

esh

ia29

Overa

ll E

ffect

�S

ou

nd

nes

s

�O

nly

te

rmin

ate

wit

h

so

luti

on

on

u

nd

era

pp

rox

ima

tio

n

�O

nly

te

rmin

ate

as

UN

SA

T

on

ov

era

pp

rox

ima

tio

n

�C

om

ple

ten

ess

�S

uc

ce

ss

ive

u

nd

era

pp

rox

ima

tio

ns

ap

pro

ac

h ϕ

�F

init

e v

ari

ab

le r

an

ge

s

gu

ara

nte

e t

erm

ina

tio

n�

In w

ors

t case, g

et

ϕk−

ϕ

ϕ1−

ϕ1+ ϕ

2−

• • •

ϕk−

ϕ2+

ϕk+

• •••• •••

• •••

SA

T

UN

SA

T

11/8

/200

7D

an

iel K

roen

ing

, S

an

jit A

. S

esh

ia30

Gen

era

tin

g O

vera

pp

roxim

ati

on

�G

iven

�U

nd

era

pp

rox

ima

tio

1−

�B

it-b

las

ted

tra

ns

lati

on

of

ϕ1−

into

Bo

ole

an

fo

rmu

la

�P

roo

f th

at

Bo

ole

an

fo

rmu

la

un

sa

tis

fia

ble

�G

en

era

te

�O

ve

rap

pro

xim

ati

on

ϕ1+

�If

ϕ1+

sa

tis

fia

ble

, m

us

t le

ad

to

re

fin

ed

u

nd

era

pp

rox

ima

tio

n�

Genera

te ϕ

2−

such that

ϕ1−⇒ ⇒⇒⇒

ϕ2−⇒ ⇒⇒⇒

ϕ

ϕ ϕ1−

ϕ1+

UN

SA

T p

roof:

genera

te

overa

ppro

xim

ation

ϕ2−

11/8

/200

7D

an

iel K

roen

ing

, S

an

jit A

. S

esh

ia31

Bit

-Vecto

r F

orm

ula

Str

uctu

re

�D

AG

re

pre

se

nta

tio

n t

o a

llo

w s

ha

red

su

bfo

rmu

las

x+

2 z

≤ ≤≤≤1

x%

26 =

v

w&

0xF

FF

F =

x

x=

y

∨ ∨∨∨

∧ ∧∧∧

¬ ¬¬¬

∨ ∨∨∨

∧ ∧∧∧

∨ ∨∨∨

11/8

/200

7D

an

iel K

roen

ing

, S

an

jit A

. S

esh

ia32

Str

uctu

re o

f U

nd

era

pp

roxim

ati

on

�T

ran

sla

tio

n t

o C

NF

�E

ach

wo

rd-l

evel vari

ab

le e

nco

ded

wit

h v

ecto

r o

f B

oo

lean

vari

ab

les

�A

dd

itio

nal B

oo

lean

vari

ab

les r

ep

resen

t su

bfo

rmu

lavalu

es

x+

2 z

≤ ≤≤≤1

x%

26 =

v

w&

0xF

FF

F =

x

x=

y

∨ ∨∨∨

∧ ∧∧∧

¬ ¬¬¬

∨ ∨∨∨

∧ ∧∧∧

∨ ∨∨∨

Ran

ge

Co

nstr

ain

ts

w x y z

∧ ∧∧∧

11/8

/200

7D

an

iel K

roen

ing

, S

an

jit A

. S

esh

ia33

En

co

din

g R

an

ge C

on

str

ain

ts�

Exp

licit

�V

iew

as

ad

dit

ion

al

pre

dic

ate

s i

n f

orm

ula

�Im

pli

cit

�R

ed

uc

e n

um

be

r o

f v

ari

ab

les

in

en

co

din

g

Co

ns

tra

int

En

co

din

g

0 ≤ ≤≤≤

w< <<<

80

0 0

···

0 w

2w

1w

0

−4

≤ ≤≤≤x

< <<<4

xsx

sx

s··

·x

sx

sx

1x

0

�Y

ield

s s

ma

lle

r S

AT

en

co

din

gs

Ran

ge

Co

nstr

ain

ts

w x0 ≤ ≤≤≤

w< <<<

8

∧ ∧∧∧−−

44≤ ≤≤≤≤ ≤≤≤

x

x < <<<< <<<

44

11/8

/200

7D

an

iel K

roen

ing

, S

an

jit A

. S

esh

ia34

UN

SA

T C

ore

�S

ub

se

t o

f c

lau

se

s t

ha

t is

un

sa

tis

fia

ble

�V

ari

ab

les

in

un

sa

tc

ore

de

fin

e p

ort

ion

of

DA

G

�S

ub

gra

ph

tha

t c

an

no

t b

e s

ati

sfi

ed

wit

h g

ive

n r

an

ge

c

on

str

ain

ts

x+

2 z

≤ ≤≤≤1

x%

26 =

v

w&

0xF

FF

F =

x

x=

y

a

∨ ∨∨∨

∧ ∧∧∧

∧ ∧∧∧

∨ ∨∨∨

∨ ∨∨∨

¬ ¬¬¬

Ran

ge

Co

nstr

ain

ts

w x y z

∧ ∧∧∧

11/8

/200

7D

an

iel K

roen

ing

, S

an

jit A

. S

esh

ia35

Gen

era

ted

Overa

pp

roxim

ati

on

�Id

en

tify

su

bfo

rmu

las

co

nta

inin

g n

o v

ari

ab

les

fro

m U

NS

AT

p

roo

f

�R

ep

lac

e b

y f

res

h B

oo

lea

n v

ari

ab

les

�R

em

ov

e r

an

ge

co

ns

tra

ints

on

wo

rd-l

ev

el

va

ria

ble

s

�C

rea

tes

ov

era

pp

rox

ima

tio

n�

Ign

ore

s c

orr

ela

tio

ns b

etw

een

valu

es o

f su

bfo

rmu

las

x+

2 z

≤ ≤≤≤1

x=

y

a∧ ∧∧∧

∧ ∧∧∧

∨ ∨∨∨

∨ ∨∨∨

¬ ¬¬¬

b1

b2

ϕ1+

11/8

/200

7D

an

iel K

roen

ing

, S

an

jit A

. S

esh

ia36

Refi

nem

en

t P

rop

ert

y�

Cla

im

�ϕ

1+

ha

s n

o s

olu

tio

ns

th

at

sa

tis

fy ϕ

1−

�B

ecau

se ϕ ϕϕϕ

1+

co

nta

ins p

ort

ion

of

ϕ ϕϕϕ1−

that

was s

ho

wn

to

b

e u

nsati

sfi

ab

leu

nd

er

ran

ge c

on

str

ain

ts

�Im

pli

cati

on

�C

an

on

ly s

ati

sfy

ϕ ϕϕϕ1+

by e

xp

an

din

g v

ari

ab

le r

an

ges

x+

2 z

≤ ≤≤≤1

x=

y

a∧ ∧∧∧

∧ ∧∧∧

∨ ∨∨∨

∨ ∨∨∨

¬ ¬¬¬

b1

b2

ϕ1+

11/8

/200

7D

an

iel K

roen

ing

, S

an

jit A

. S

esh

ia37

Eff

ect

of

Itera

tio

n

�E

ach

Co

mp

lete

Ite

rati

on

�E

xp

an

ds

ra

ng

es

of

so

me

wo

rd-l

ev

el

va

ria

ble

s

�C

rea

tes

re

fin

ed

un

de

rap

pro

xim

ati

on

ϕ ϕ1−

ϕ1+

SA

T:

Use s

olu

tion t

o g

enera

te

refined u

ndera

ppro

xim

ation

ϕ2−

UN

SA

T p

roof:

genera

te

overa

ppro

xim

ation

11/8

/200

7D

an

iel K

roen

ing

, S

an

jit A

. S

esh

ia38

Ap

pro

xim

ati

on

Meth

od

s

�S

o F

ar

�R

an

ge

co

ns

tra

ints

�U

nd

era

pp

roxim

ate

by c

on

str

ain

ing

valu

es o

f w

ord

-level

vari

ab

les

�S

ub

form

ula

eli

min

ati

on

�O

vera

pp

roxim

ate

by a

ssu

min

g s

ub

form

ula

valu

e a

rbit

rary

�G

en

era

l R

eq

uir

em

en

ts

�S

ys

tem

ati

c u

nd

er-

an

d o

ve

r-a

pp

rox

ima

tio

ns

�W

ay t

o c

on

ne

ct

fro

m o

ne

to

an

oth

er

�G

oal:

Devis

e A

dd

itio

nal

Ap

pro

xim

ati

on

Str

ate

gie

s

11/8

/200

7D

an

iel K

roen

ing

, S

an

jit A

. S

esh

ia39

Fu

ncti

on

Ap

pro

xim

ati

on

Exam

ple

�M

oti

vati

on

�M

ult

ipli

ca

tio

n (

an

d d

ivis

ion

) a

re d

iffi

cu

lt c

as

es

fo

r S

AT

�§:

Pro

hib

ited

�G

ive

s u

nd

era

pp

rox

ima

tio

n

�R

es

tric

ts v

alu

es

of

(po

ss

ibly

in

term

ed

iate

) te

rms

�§: f fff(x

,y)

�O

ve

rap

pro

xim

ate

as

un

inte

rpre

ted

fun

cti

on

f fff

�V

alu

e c

on

str

ain

ed

on

ly b

y f

un

cti

on

al

co

ns

iste

nc

y

*

x y

x

01

els

e

y

00

00

10

1x

els

e0

11/8

/200

7D

an

iel K

roen

ing

, S

an

jit A

. S

esh

ia40

Resu

lts:

UC

LID

BV

vs. B

it-b

lasti

ng

�U

CL

ID a

lways

be

tte

r th

an

bit

bla

sti

ng

�G

en

era

lly b

ett

er

tha

n o

the

r a

va

ila

ble

pro

ce

du

res

�S

AT

tim

e i

s t

he

do

min

ati

ng

fa

cto

r

[re

su

lts o

n 2

.8 G

Hz X

eo

n,

2 G

B R

AM

]

11/8

/200

7D

an

iel K

roen

ing

, S

an

jit A

. S

esh

ia41

Dis

cu

ssio

n

�S

AT

-Bas

ed

Meth

od

s a

re E

ffecti

ve

�B

it b

las

tin

g i

s o

nly

wa

y t

o c

ap

ture

fu

ll s

et

of

op

era

tio

ns

�S

AT

so

lve

rs a

re g

oo

d &

ge

ttin

g b

ett

er

�O

n m

an

y U

CL

ID b

en

ch

mark

s, h

ave b

een

gett

ing

2X

or

bett

er

sp

eed

up

each

year

sin

ce 2

000 ju

st

fro

m a

dvan

ces

in S

AT

! (s

ee e

arl

ier

slid

e)

�A

bstr

acti

on

/ R

efi

nem

en

t A

llo

ws B

ett

er

Scali

ng

�T

ak

e a

dv

an

tag

e o

f c

as

es

wh

ere

fo

rmu

la e

as

ily s

ati

sfi

ed

o

r d

isp

rov

en

11/8

/200

7D

an

iel K

roen

ing

, S

an

jit A

. S

esh

ia42

Bit

-Vec

tor

Dec

isio

n P

roced

ure

s,

cir

ca

2007

�C

urr

en

t T

ech

niq

ues w

ith

Sam

ple

To

ols

�P

roo

f-b

as

ed

ab

str

ac

tio

n-r

efi

ne

me

nt

–U

CL

ID

[Bry

an

t et

al., T

AC

AS

’07]

�S

olv

er

for

lin

ea

r m

od

ula

r a

rith

me

tic

to s

imp

lify

th

e

form

ula

–S

TP

[G

an

esh

& D

ill, C

AV

’07]

�C

ou

nte

rex

am

ple

-gu

ide

d a

bs

tra

cti

on

-re

fin

em

en

t,

lay

ere

d a

pp

roa

ch

, re

wri

tin

g–

Ma

thS

AT

[Bru

tto

messo

et

al, C

AV

’07]

�A

uto

ma

tic

pa

ram

ete

r tu

nin

g–

Sp

ea

r [H

utt

er

et

al.

, F

MC

AD

’0

7]

11/8

/200

7D

an

iel K

roen

ing

, S

an

jit A

. S

esh

ia43

ST

P’s

ap

pro

ach

Inp

ut

Fo

rmu

la φ φφφ

Su

bsti

tuti

on

Sim

plifi

cati

on

Lin

ear

eq

uali

ty s

olv

ing

Bit

-Bla

st

SA

T S

olv

ing

Refi

ne A

rra

y

Axio

ms

SA

T /

UN

SA

T

Sim

pli

fy a

s m

uch

as p

ossib

leT

hen

Bit

-Bla

st

Ad

d a

rra

y a

xio

ms o

n d

em

an

d

[Ga

ne

sh

& D

ill,

CA

V ’

07

]

11/8

/200

7D

an

iel K

roen

ing

, S

an

jit A

. S

esh

ia44

ST

P’s

Lin

ear

So

lver

�C

riti

cal ste

p:

gre

atl

y r

ed

uce

s n

um

ber

of

vari

ab

les a

nd

co

nstr

ain

ts i

n f

inal

SA

T p

rob

lem

�S

olv

er

for

lin

ear

eq

uali

ties m

od

po

wer

of

2

�S

olv

e s

ys

tem

A

x =

b

(mo

d 2

k),

on

lin

e

�S

imil

ar

to e

arl

ier

wo

rk b

y H

ua

ng

& C

he

ng

, T

CA

D’0

1

�G

en

era

l id

ea:

1.

So

lve f

or

a v

ari

ab

le w

ith

od

d c

oeff

icie

nt

usin

g

mu

ltip

licati

ve in

vers

e o

f co

eff

icie

nt,

su

bsti

tute

it

ou

t o

f o

ther

eq

uati

on

s

2.

If n

o o

dd

co

eff

icie

nt,

div

ide e

qu

ati

on

by p

ow

er

of

2 a

nd

so

lve f

or

bit

-extr

acte

d-p

art

of

a v

ari

ab

le

11/8

/200

7D

an

iel K

roen

ing

, S

an

jit A

. S

esh

ia45

Exam

ple

3x +

4y +

2z =

0

2x +

2y

=

-2

2x +

4y +

2z =

0

x, y,

z a

re a

ll 3

bit

s w

ide –

so

lve m

od

8

�S

tep

s:

1.

Pic

k a

n e

qu

ati

on

th

at’

s s

olv

ab

le

�∑

ia

ix

i=

ci(m

od

2b)

so

lva

ble

iff

gc

d{a

1,

a2,

…,

an,

2b}

div

ide

s c

i

2.

If it

has a

n o

dd

co

eff

icie

nt

ai,

exp

ress x

iin

term

s o

f th

e

oth

ers

�M

ult

iply

th

rou

gh

ou

t b

y m

ult

ipli

ca

tiv

e i

nv

ers

e o

f c

i

3.

Su

bsti

tute

xio

ut

of

all o

ther

eq

uati

on

s

11/8

/200

7D

an

iel K

roen

ing

, S

an

jit A

. S

esh

ia46

Exam

ple

(co

ntd

.)

3x

+ 4

y +

2z =

03

x +

4y +

2z =

02

x +

2y

=

2

x +

2y

=

--22

2x

+ 4

y +

2z =

02

x +

4y +

2z =

0

So

lvab

le,

has o

dd

co

eff

icie

nt

Mu

ltip

ly t

hro

ug

ho

ut

by 3

-1(m

od

8)

= 3

No

od

d c

oeff

icie

nt!

Div

ide b

y 2

,so

lve f

or

va

ria

ble

s e

xp

ressin

g lo

wer

two

bit

s(m

od

4)

Fin

al

so

lve

d s

ys

tem

:F

ina

l s

olv

ed

sys

tem

:x

= 4

y +

6z

x

= 4

y +

6z

y[1

:0]

= 2

z[1

:0]

+ 3

y[1

:0]

= 2

z[1

:0]

+ 3

z[1

:0]

= 2

z[1

:0]

= 2

No

te t

his

te

ch

niq

ue

so

lve

s

1 e

qu

ati

on

at

a t

ime

� ���o

nli

ne

x =

4y +

6z

x =

4y +

6z

2x

+ 2

y

=

2

x +

2y

=

--22

2x

+ 4

y +

2z =

02

x +

4y +

2z =

0

so

lve f

or

x

2y +

4z =

2

y +

4z =

--22

4y +

6z =

04

y +

6z =

0

eli

min

ate

x

11/8

/200

7D

an

iel K

roen

ing

, S

an

jit A

. S

esh

ia47

Fin

al S

olu

tio

ns

�O

rig

ina

l v

ari

ab

les

: 3

-bit

un

sig

ne

d i

nte

ge

rsx: [x

2x

1x

0]

y: [y

2y

1y

0]

z: [z

2z

1z

0]

�S

olu

tio

ns

�In

bit

-ve

cto

r fo

rm:

y: [y

21 1

]z: [z

21 0

]

�B

ack S

ub

sti

tuti

on

to

so

lve f

or

x

�C

on

str

ain

ed

va

ria

ble

sx: [0

0 0

]

mo

d 4

2=

z

mo

d 4

3=

y

mo

d 8

+ 6

z4

y=

x

mo

d 8

0=

x

11/8

/200

7D

an

iel K

roen

ing

, S

an

jit A

. S

esh

ia48

Bit

-Vec

tor

Dec

isio

n P

roced

ure

s,

cir

ca

2007

�C

urr

en

t T

ech

niq

ues w

ith

Sam

ple

To

ols

�P

roo

f-b

as

ed

ab

str

ac

tio

n-r

efi

ne

me

nt

–U

CL

ID

[Bry

an

t et

al., T

AC

AS

’07]

�S

olv

er

for

lin

ea

r m

od

ula

r a

rith

me

tic

to s

imp

lify

th

e

form

ula

–S

TP

[G

an

esh

& D

ill, C

AV

’07]

�C

ou

nte

rex

am

ple

-gu

ide

d a

bs

tra

cti

on

-re

fin

em

en

t,

lay

ere

d a

pp

roa

ch

, re

wri

tin

g–

Ma

thS

AT

[Bru

tto

messo

et

al, C

AV

’07]

�A

uto

ma

tic

pa

ram

ete

r tu

nin

g–

Sp

ea

r [H

utt

er

et

al.

, F

MC

AD

’0

7]

11/8

/200

7D

an

iel K

roen

ing

, S

an

jit A

. S

esh

ia49

Th

e M

ath

SA

TA

pp

roach

�P

re-p

roce

ssin

g s

imp

lifi

cati

on

s

�P

rop

ag

ati

on

of

un

co

ns

tra

ine

d (

fan

ou

t=

1)

va

ria

ble

s

�T

ran

sfo

rmin

g t

erm

IT

Es

to B

oo

lea

n I

TE

s

�C

on

sta

nt

pro

pa

ga

tio

n

�P

rop

ag

ati

ng

ex

tra

cti

on

op

era

tors

th

rou

gh

co

nc

ate

na

tio

n

an

d b

it-w

ise

op

era

tors

�C

ou

nte

rex

am

ple

gu

ided

ab

str

acti

on

-refi

nem

en

tlo

op

(C

EG

AR

)

�S

AT

so

lve

r c

om

mu

nic

ate

s w

ith

th

eo

ry s

olv

er

(la

zy S

MT

)

�L

ayere

d a

pp

roach

for

theo

ry s

olv

er

�F

irs

t in

vo

ke

EU

F s

olv

er

�T

he

n u

se

bit

-ve

cto

r re

wri

te r

ule

s

�F

ina

lly u

se

so

lve

r b

as

ed

on

SA

T +

In

teg

er

lin

ea

r a

rith

.

[Bru

tto

me

ss

oe

t a

l.,

CA

V ’

07

]

11/8

/200

7D

an

iel K

roen

ing

, S

an

jit A

. S

esh

ia50

Co

nclu

din

g P

oin

ts

�R

esu

rgen

ce o

f in

tere

st

an

d r

esu

lts in

wo

rd-l

evel

so

lvers

(b

it-v

ecto

r d

ecis

ion

pro

ced

ure

s)

�M

ajo

r id

eas:

�A

bs

tra

cti

on

-Re

fin

em

en

t�

Pro

of-

based

�C

EG

AR

�W

ord

-le

ve

l S

imp

lifi

ca

tio

ns

�L

inear

so

lve

r m

od

po

wer

of

2�

Rew

rite

ru

les f

or

bit

-vecto

r o

pera

tors

�L

aye

red

ap

pro

ac

h (

Ma

thS

AT

) /

Fu

nc

tio

n a

bs

tra

cti

on

(U

CL

ID)

�N

ext

ste

p:

exp

lore

ho

w b

est

to c

om

bin

e t

erm

-level an

d

wo

rd-l

evel

mo

delin

g

11/8

/200

7D

an

iel K

roen

ing

, S

an

jit A

. S

esh

ia51

Ou

tlin

e

�T

erm

-Le

ve

l M

od

eli

ng

�B

it-V

ec

tor

De

cis

ion

Pro

ce

du

res

�W

ord

-Le

ve

l P

red

ica

te A

bs

tra

cti

on

�In

terp

ola

tio

n

11/8

/200

7D

an

iel K

roen

ing

, S

an

jit A

. S

esh

ia52

Wo

rd-l

ev

el C

irc

uit

Mo

de

ls

I, R

,φ φφφ

Ne

ed t

o e

xtr

act

word

-leve

l fo

rmu

lafo

r1.I

nitia

l sta

te

2.T

ransitio

n r

ela

tio

n3.P

ropert

y

11/8

/200

7D

an

iel K

roen

ing

, S

an

jit A

. S

esh

ia53

Th

e S

LA

M S

tory

�M

icro

so

ft b

lam

es m

ost

Win

do

ws c

rash

es

on

th

ird

part

y d

evic

e d

rivers

�T

he W

ind

ow

s d

evic

e d

river

AP

I is

qu

ite c

om

plicate

d

�L

ow

-level C

co

de

�S

LA

M:

Fo

rmal

too

l to

au

tom

ati

call

y c

he

ck

devic

e d

rivers

fo

r cert

ain

err

ors

�S

hip

ped

wit

h D

evic

e D

river

Dev

elo

pm

en

t K

it (

DD

K)

11/8

/200

7D

an

iel K

roen

ing

, S

an

jit A

. S

esh

ia54

Pre

dic

ate

Ab

str

acti

on

�C

ircu

its h

ave t

oo

man

y s

tate

vari

ab

les

→S

tate

Sp

ace E

xp

losio

n

�G

raf/

Saïd

i97:

Pre

dic

ate

Ab

str

acti

on

�Id

ea:

On

ly k

eep

tra

ck o

f p

red

icate

so

n d

ata

�A

bstr

acti

on

fu

ncti

on

:

11/8

/200

7D

an

iel K

roen

ing

, S

an

jit A

. S

esh

ia55

Pre

dic

ate

Ab

str

acti

on

Co

nc

rete

Sta

tes

:

Pre

dic

ate

s:

Ab

str

act

tran

sit

ion

s?

11/8

/200

7D

an

iel K

roen

ing

, S

an

jit A

. S

esh

ia56

Un

der-

vs. O

vera

pp

roxim

ati

on

�H

ow

to

ab

str

ac

t th

e t

ran

sit

ion

s?

�D

ep

en

ds

on

th

e p

rop

ert

y w

e w

an

t to

sh

ow

�T

yp

ica

lly d

on

e in

a c

on

se

rvati

ve

ma

nn

er

�E

xis

ten

tia

l a

bs

tra

cti

on

:

⇒ ⇒⇒⇒P

res

erv

es

sa

fety

pro

pe

rtie

s

11/8

/200

7D

an

iel K

roen

ing

, S

an

jit A

. S

esh

ia57

Pre

dic

ate

Ab

str

acti

on

Ab

str

ac

t T

ran

sit

ion

s:

As

se

rtio

n:

� ���� ���� ���� ���

� ���� ���

Pro

pe

rty h

old

s.

Ok

.

11/8

/200

7D

an

iel K

roen

ing

, S

an

jit A

. S

esh

ia58

Pre

dic

ate

Ab

str

acti

on

Ab

str

ac

t T

ran

sit

ion

s:

As

se

rtio

n:

� ���� ���� ���� ���

� ���� ���T

his

tra

ce is

sp

uri

ou

s!

11/8

/200

7D

an

iel K

roen

ing

, S

an

jit A

. S

esh

ia59

Pre

dic

ate

Ab

str

acti

on

Ab

str

ac

t T

ran

sit

ion

s:

Ne

w P

red

ica

tes

:A

ss

ert

ion

:

� ���� ���

11/8

/200

7D

an

iel K

roen

ing

, S

an

jit A

. S

esh

ia60

Pre

dic

ate

Ab

str

acti

on

fo

r C

ircu

itry

�L

et’

s t

ake e

xis

ten

tial ab

str

acti

on

seri

ou

sly

�B

asic

id

ea:

wit

h n

pre

dic

ate

s, th

ere

are

2n

× ×××2

np

ossib

le a

bstr

act

tran

sit

ion

s

�L

et’

s ju

st

ch

eck t

hem

!

11/8

/200

7D

an

iel K

roen

ing

, S

an

jit A

. S

esh

ia61

Exis

ten

tial A

bstr

acti

on

Pre

dic

ate

s

i<=i+1;

Tra

nsitio

n R

ela

tion

Form

ula

Curr

ent

Abstr

act

Sta

teN

ext

Abstr

act

Sta

te

p1

p2

p3

00

0

00

1

01

0

01

1

10

0

10

1

11

0

11

1

p’ 1

p’ 2

p’ 3

00

0

00

1

01

0

01

1

10

0

10

1

11

0

11

1

???Q

uery

��

11/8

/200

7D

an

iel K

roen

ing

, S

an

jit A

. S

esh

ia62

Exis

ten

tial A

bstr

acti

on

Pre

dic

ate

s

i<=i+1;

Form

ula

Curr

ent

Abstr

act

Sta

teN

ext

Abstr

act

Sta

te

p1

p2

p3

00

0

00

1

01

0

01

1

10

0

10

1

11

0

11

1

p’ 1

p’ 2

p’ 3

00

0

00

1

01

0

01

1

10

0

10

1

11

0

11

1

Query

??? ��

……and s

o o

n

and s

o o

n ……

Tra

nsitio

n R

ela

tion

11/8

/200

7D

an

iel K

roen

ing

, S

an

jit A

. S

esh

ia63

Pre

dic

ate

Ab

str

acti

on

fo

r C

ircu

itry

�A

pre

cis

e e

xis

ten

tial ab

str

acti

on

can

be

way t

oo

slo

w

�U

se a

n o

ver-

ap

pro

xim

ati

on

in

ste

ad

�F

ast

to c

om

pu

te

�B

ut

has a

dd

itio

nal

tran

sit

ion

s

�P

red

ica

te p

art

itio

nin

g(D

AC

20

05

, IE

EE

TC

AD

20

08

)

11/8

/200

7D

an

iel K

roen

ing

, S

an

jit A

. S

esh

ia64

Pre

dic

ate

Ab

str

acti

on

fo

r C

ircu

itry

�H

ow

do

we g

et

the p

red

icate

s?

�A

uto

mati

c a

bstr

acti

on

refi

nem

en

t!

[Kurshanet al. ’93]

[Clarke et al. ’00]

[Ball, Rajamani’00]

11/8

/200

7D

an

iel K

roen

ing

, S

an

jit A

. S

esh

ia65

Wh

at

I am

Go

ing

to

Sh

ow

�A

pp

ly p

red

icate

ab

str

acti

on

at

RT

-Lev

el

�A

llo

ws

ab

str

ac

tio

n u

sin

g w

ord

-le

ve

lp

red

ica

tes

�E

xa

mp

le:

x <

y –

z,

x =

{z,z

}

�U

se a

SA

T s

olv

er

for

co

mp

uti

ng

ab

str

acti

on

�S

em

an

tic

s o

f b

it-w

ise

op

era

tors

ta

ke

nin

to a

cc

ou

nt

�O

bta

inin

g s

uit

ab

le w

ord

level

pre

dic

ate

s

�S

yn

tac

tic

we

ak

es

t p

re-c

on

dit

ion

so

fV

eri

log

sta

tem

en

ts

�F

rom

wo

rd-l

ev

el

pro

ofs

11/8

/200

7D

an

iel K

roen

ing

, S

an

jit A

. S

esh

ia66

Ab

str

acti

on

Refi

nem

en

t L

oo

p

Actu

al

Circuit

Abstr

act

Model

Model

Checker

Abstr

action r

efinem

ent

Verificatio

nIn

itia

l

Abstr

action

No e

rror

or

bug f

oun

d

Spurio

us c

ounte

rexam

ple

Sim

ula

tor

Pro

pert

y

hold

s

Sim

ula

tion

successfu

l

Bug f

ound

Refinem

ent

Counte

rexam

ple

[Kurshanet al. ’93]

[Clarke et al. ’00]

[Ball, Rajamani’00]

11/8

/200

7D

an

iel K

roen

ing

, S

an

jit A

. S

esh

ia67

An

exam

ple

mo

du

le m

ain

(cl

k)

inp

ut

clk;

reg

[10

:0]

x, y

;

init

ial x

= 1

00, y

= 2

00;

alw

ays

@ (

po

sed

ge

clk)

beg

in

x <

= y

;

y <

= x

;

end

end

mo

du

le

mo

du

le m

ain

(cl

k)

inp

ut

clk;

reg

[10

:0]

x, y

;

init

ial x

= 1

00, y

= 2

00;

alw

ays

@ (

po

sed

ge

clk)

beg

in

x <

= y

;

y <

= x

;

end

end

mo

du

le

Ass

erti

on

:

AG

(x

= 1

00 ∨ ∨∨∨

x =

200

)

Ass

erti

on

:

AG

(x

= 1

00 ∨ ∨∨∨

x =

200

)

Ver

ilog

pro

gra

m

11/8

/200

7D

an

iel K

roen

ing

, S

an

jit A

. S

esh

ia68

Ab

str

acti

on

Refi

nem

en

t L

oo

p

Actu

al

Circuit

Abstr

act

Model

Model

Checker

Abstr

action r

efinem

ent

Verificatio

nIn

itia

l

Abstr

action

No e

rror

or

bug f

oun

d

Spurio

us c

ounte

rexam

ple

Sim

ula

tor

Pro

pert

y

hold

s

Sim

ula

tion

successfu

l

Bug f

ound

Refinem

ent

Counte

rexam

ple

[Kurshanet al. ’93]

[Clarke et al. ’00]

[Ball, Rajamani’00]

11/8

/200

7D

an

iel K

roen

ing

, S

an

jit A

. S

esh

ia69

Pre

dic

ate

Ab

str

acti

on

mo

du

le m

ain

(cl

k)

inp

ut

clk;

reg

[10

:0]

x, y

;

init

ial x

= 1

00, y

= 2

00;

alw

ays

@ (

po

sed

ge

clk)

beg

in

x <

= y

;

y <

= x

;

end

end

mo

du

le

mo

du

le m

ain

(cl

k)

inp

ut

clk;

reg

[10

:0]

x, y

;

init

ial x

= 1

00, y

= 2

00;

alw

ays

@ (

po

sed

ge

clk)

beg

in

x <

= y

;

y <

= x

;

end

end

mo

du

le

Ass

erti

on

:

AG

(x

= 1

00 ∨ ∨∨∨

x =

200

)

Ass

erti

on

:

AG

(x

= 1

00 ∨ ∨∨∨

x =

200

)

Init

ial s

et o

f p

red

icat

es:

{x =

100

, x =

200

}

Tra

nsi

tio

n r

elat

ion

:

x’=

y ∧ ∧∧∧

y’=

x

Wo

rdL

ev

el

Ver

ilog

pro

gra

m

11/8

/200

7D

an

iel K

roen

ing

, S

an

jit A

. S

esh

ia70

Co

mp

uti

ng

Mo

st

Pre

cis

e A

bstr

acti

on

<x

= 1

00,

x =

200

>+

x’:=

y

y’:=

x+

<x’

= 10

0, x

’= 2

00>

Cu

rren

t st

ate

Cu

rren

t st

ate

Nex

t s

tate

Nex

t s

tate

Tra

nsi

tio

n R

elat

ion

Tra

nsi

tio

n R

elat

ion

11/8

/200

7D

an

iel K

roen

ing

, S

an

jit A

. S

esh

ia71

Ob

tain

tra

nsit

ion

s

Co

mp

uti

ng

ab

str

act

tran

sit

ion

s

1,0

0,0

0,1

1,1

……a

nd

so

on

a

nd

so

on

……

<p

1,p

2>

11/8

/200

7D

an

iel K

roen

ing

, S

an

jit A

. S

esh

ia72

Ab

str

act

Mo

del

Assert

ion

:

AG

(x =

100 ∨ ∨∨∨

x =

200)

Init

ial set

of

pre

dic

ate

s:

{x =

100, x =

200}

Init

ial

sta

te

Fa

ilu

res

tate

1,0

0,0

0,1

1,1

mo

du

le m

ain

(cl

k)

inp

ut

clk;

reg

[10

:0]

x, y

;

init

ial x

= 1

00, y

= 2

00;

alw

ays

@ (

po

sed

ge

clk)

beg

in

x <

= y

;

y <

= x

;

end

end

mo

du

le

mo

du

le m

ain

(cl

k)

inp

ut

clk;

reg

[10

:0]

x, y

;

init

ial x

= 1

00, y

= 2

00;

alw

ays

@ (

po

sed

ge

clk)

beg

in

x <

= y

;

y <

= x

;

end

end

mo

du

le

Ver

ilog

pro

gra

m

11/8

/200

7D

an

iel K

roen

ing

, S

an

jit A

. S

esh

ia73

Ab

str

acti

on

Refi

nem

en

t L

oo

p

Actu

al

Circuit

Abstr

act

Model

Model

Checker

Abstr

action r

efinem

ent

Verificatio

nIn

itia

l

Abstr

action

No e

rror

or

bug f

oun

d

Spurio

us c

ounte

rexam

ple

Sim

ula

tor

Pro

pert

y

hold

s

Sim

ula

tion

successfu

l

Bug f

ound

Refinem

ent

Counte

rexam

ple

[Kurshanet al. ’93]

[Clarke et al. ’00]

[Ball, Rajamani’00]

11/8

/200

7D

an

iel K

roen

ing

, S

an

jit A

. S

esh

ia74

Mo

del ch

eckin

g

Fai

lure

F

ailu

re

stat

est

ate

1,0

0,0

0,1

1,1

Init

ial

Init

ial

stat

est

ate

Ab

str

ac

t M

od

el

Ab

str

ac

t M

od

el

mo

du

le m

ain

(cl

k)

inp

ut

clk;

reg

[10

:0]

x, y

;

init

ial x

= 1

00, y

= 2

00;

alw

ays

@ (

po

sed

ge

clk)

beg

in

x <

= y

;

y <

= x

;

end

end

mo

du

le

mo

du

le m

ain

(cl

k)

inp

ut

clk;

reg

[10

:0]

x, y

;

init

ial x

= 1

00, y

= 2

00;

alw

ays

@ (

po

sed

ge

clk)

beg

in

x <

= y

;

y <

= x

;

end

end

mo

du

le

Ver

ilog

pro

gra

m

11/8

/200

7D

an

iel K

roen

ing

, S

an

jit A

. S

esh

ia75

Mo

del ch

eckin

g

Fa

ilu

res

tate

1,0

0,0

0,1

1,1

Init

ial

sta

te

Ab

str

ac

t M

od

el

Ab

str

ac

t M

od

el

Ab

str

ac

t c

ou

nte

rex

am

ple

Ab

str

ac

t c

ou

nte

rex

am

ple

mo

du

le m

ain

(cl

k)

inp

ut

clk;

reg

[10

:0]

x, y

;

init

ial x

= 1

00, y

= 2

00;

alw

ays

@ (

po

sed

ge

clk)

beg

in

x <

= y

;

y <

= x

;

end

end

mo

du

le

mo

du

le m

ain

(cl

k)

inp

ut

clk;

reg

[10

:0]

x, y

;

init

ial x

= 1

00, y

= 2

00;

alw

ays

@ (

po

sed

ge

clk)

beg

in

x <

= y

;

y <

= x

;

end

end

mo

du

le

Ver

ilog

pro

gra

m

11/8

/200

7D

an

iel K

roen

ing

, S

an

jit A

. S

esh

ia76

Ab

str

acti

on

Refi

nem

en

t L

oo

p

Actu

al

Circuit

Abstr

act

Model

Model

Checker

Abstr

action r

efinem

ent

Verificatio

nIn

itia

l

Abstr

action

No e

rror

or

bug f

oun

d

Spurio

us c

ounte

rexam

ple

Sim

ula

tor

Pro

pert

y

hold

s

Sim

ula

tion

successfu

l

Bug f

ound

Refinem

ent

Counte

rexam

ple

[Kurshanet al. ’93]

[Clarke et al. ’00]

[Ball, Rajamani’00]

11/8

/200

7D

an

iel K

roen

ing

, S

an

jit A

. S

esh

ia77

Sim

ula

tio

n

Fa

ilu

res

tate

1,0

0,0

Init

ial

sta

te Co

un

tere

xa

mp

le i

s s

pu

rio

us

Co

un

tere

xa

mp

le i

s s

pu

rio

us

Ab

str

ac

t c

ou

nte

rex

am

ple

mo

du

le m

ain

(cl

k)

inp

ut

clk;

reg

[10

:0]

x, y

;

init

ial x

= 1

00, y

= 2

00;

alw

ays

@ (

po

sed

ge

clk)

beg

in

x <

= y

;

y <

= x

;

end

end

mo

du

le

mo

du

le m

ain

(cl

k)

inp

ut

clk;

reg

[10

:0]

x, y

;

init

ial x

= 1

00, y

= 2

00;

alw

ays

@ (

po

sed

ge

clk)

beg

in

x <

= y

;

y <

= x

;

end

end

mo

du

le

Ver

ilog

pro

gra

m

11/8

/200

7D

an

iel K

roen

ing

, S

an

jit A

. S

esh

ia78

Ab

str

acti

on

Refi

nem

en

t L

oo

p

Actu

al

Circuit

Abstr

act

Model

Model

Checker

Abstr

action r

efinem

ent

Verificatio

nIn

itia

l

Abstr

action

No e

rror

or

bug f

oun

d

Spurio

us c

ounte

rexam

ple

Sim

ula

tor

Pro

pert

y

hold

s

Sim

ula

tion

successfu

l

Bug f

ound

Refinem

ent

Counte

rexam

ple

[Kurshanet al. ’93]

[Clarke et al. ’00]

[Ball, Rajamani’00]

11/8

/200

7D

an

iel K

roen

ing

, S

an

jit A

. S

esh

ia79

Refi

nem

en

t

�L

et

len

gth

of

sp

uri

ou

s c

ou

nte

rex

am

ple

be

kk

�T

ak

e w

eak

es

t p

rew

eak

es

t p

re-- c

on

dit

ion

of

pro

pe

rty

co

nd

itio

n o

f p

rop

ert

yfo

r k

s

tep

sw

ith

re

sp

ec

t to

tra

ns

itio

n f

un

cti

on

wit

h r

es

pe

ct

to t

ran

sit

ion

fu

nc

tio

n

11/8

/200

7D

an

iel K

roen

ing

, S

an

jit A

. S

esh

ia80

Refi

nem

en

t (x(x’’

= 1

00

=

10

0 ∨ ∨∨∨∨ ∨∨∨

xx’’

= 2

00

)=

20

0)

Ho

lds

aft

er

on

e

Ho

lds

aft

er

on

e

ste

ps

tep

x’

:= y

y’

:= x

(y =

10

0

(y =

10

0 ∨ ∨∨∨∨ ∨∨∨

y =

20

0)

y =

20

0)

we

ak

es

t w

ea

ke

st

pre

co

nd

itio

np

rec

on

dit

ion

AG

(x

= 1

00

A

G (

x =

10

0 ∨ ∨∨∨∨ ∨∨∨

x =

20

0)

x =

20

0)

Pro

pert

yP

rop

ert

y

len

gth

=1

len

gth

=1

++

sp

uri

ou

s

sp

uri

ou

s

co

un

tere

xam

ple

co

un

tere

xam

ple

Ne

w p

red

ica

tes

y =

10

0,

y =

20

0

Ne

w p

red

ica

tes

y =

10

0,

y =

20

0

11/8

/200

7D

an

iel K

roen

ing

, S

an

jit A

. S

esh

ia81

Ab

str

act

ag

ain

Assert

ion

:

AG

(x =

100 o

r x =

200)

Up

date

d s

et

of

pre

dic

ate

s:

{x =

100, x =

200, y=

100, y=

200}

1,0,

0,1

0,1,

1,0

Init

ial

sta

te

Mo

de

l c

he

ck

Mo

de

l c

he

ck

Ne

w a

bs

tra

cti

on

Ne

w a

bs

tra

cti

on

mo

du

le m

ain

(cl

k)

inp

ut

clk;

reg

[10

:0]

x, y

;

init

ial x

= 1

00, y

= 2

00;

alw

ays

@ (

po

sed

ge

clk)

beg

in

x <

= y

;

y <

= x

;

end

end

mo

du

le

mo

du

le m

ain

(cl

k)

inp

ut

clk;

reg

[10

:0]

x, y

;

init

ial x

= 1

00, y

= 2

00;

alw

ays

@ (

po

sed

ge

clk)

beg

in

x <

= y

;

y <

= x

;

end

end

mo

du

le

Ver

ilog

pro

gra

m

11/8

/200

7D

an

iel K

roen

ing

, S

an

jit A

. S

esh

ia82

Mo

del ch

eckin

gA

ssert

ion

:

AG

(x =

100 o

r x =

200)

Up

date

d s

et

of

pre

dic

ate

s:

{x =

100, x =

200, y=

100, y=

200}

Pro

pe

rty h

old

s!

Ne

w a

bs

tra

cti

on

Ne

w a

bs

tra

cti

on

1,0,

0,1

0,1,

1,0

Init

ial

sta

te

mo

du

le m

ain

(cl

k)

inp

ut

clk;

reg

[10

:0]

x, y

;

init

ial x

= 1

00, y

= 2

00;

alw

ays

@ (

po

sed

ge

clk)

beg

in

x <

= y

;

y <

= x

;

end

end

mo

du

le

mo

du

le m

ain

(cl

k)

inp

ut

clk;

reg

[10

:0]

x, y

;

init

ial x

= 1

00, y

= 2

00;

alw

ays

@ (

po

sed

ge

clk)

beg

in

x <

= y

;

y <

= x

;

end

end

mo

du

le

Ver

ilog

pro

gra

m

11/8

/200

7D

an

iel K

roen

ing

, S

an

jit A

. S

esh

ia83

Resu

lt

Assert

ion

AG

(x =

100 o

r x =

200)

Pro

pe

rty h

old

s!

Pro

pe

rty h

old

s!

mo

du

le m

ain

(cl

k)

inp

ut

clk;

reg

[10

:0]

x, y

;

init

ial x

= 1

00, y

= 2

00;

alw

ays

@ (

po

sed

ge

clk)

beg

in

x <

= y

;

y <

= x

;

end

end

mo

du

le

mo

du

le m

ain

(cl

k)

inp

ut

clk;

reg

[10

:0]

x, y

;

init

ial x

= 1

00, y

= 2

00;

alw

ays

@ (

po

sed

ge

clk)

beg

in

x <

= y

;

y <

= x

;

end

end

mo

du

le

Ver

ilog

pro

gra

m

11/8

/200

7D

an

iel K

roen

ing

, S

an

jit A

. S

esh

ia84

Makin

g it

wo

rk in

pra

cti

ce

�P

red

ica

te A

bs

tra

cti

on

Co

mp

uta

tio

n�

Han

dli

ng

a larg

e n

um

ber

of

pre

dic

ate

s

�R

efi

ne

me

nt

1.G

oo

d p

red

icate

sb

ut

inexact

ab

str

acti

on

(du

e t

o o

ver

ap

pro

xim

ati

on

of

mo

st

pre

cis

e

ab

str

acti

on

)

2.In

su

ffic

ien

t p

red

icate

s

11/8

/200

7D

an

iel K

roen

ing

, S

an

jit A

. S

esh

ia85

Oth

er

Ap

pro

ach

es

�S

AT

-Bas

ed

Pre

dic

ate

Ab

str

acti

on

[W

an

g e

t al.]

�W

ork

s a

t n

etl

ist

lev

el

�R

efi

ne

me

nt

intr

od

uc

es

bit

-le

ve

l p

red

ica

tes

�V

ap

or

too

l [A

nd

rau

set

al.]

�W

ork

s o

n R

T-l

ev

el

de

sig

ns

�A

bs

tra

cti

on

to

CL

U m

od

els

(eq

ua

lity

of

term

s,

un

inte

rpre

ted

fun

cti

on

s,

pre

dic

ate

s)

�L

ots

of

oth

er

rela

ted

wo

rk

11/8

/200

7D

an

iel K

roen

ing

, S

an

jit A

. S

esh

ia86

Ben

ch

mark

s

�U

SB

2.0

fu

nc

tio

n c

ore

fro

m o

pe

nc

ore

s.o

rg

�4

00

0 l

ine

s o

f R

TL

Ve

rilo

g

Ch

ecked

th

ree p

rop

ert

ies:

1.

DM

A m

od

ule

sim

ula

tes s

tate

m

ach

ine o

n l

eft

. (U

SB

1)

2.

Eve

ry s

tate

tra

nsit

ion

s t

o ID

LE

sta

te w

hen

ab

ort

sig

nal is

on

. T

his

pro

pert

y f

ail

s.

(US

B2)

3.

Eve

ry s

tate

ex

pect

ME

M_W

R2

tran

sit

ion

s t

o ID

LE

sta

te w

hen

ab

ort

sig

nal is

on

. (U

SB

3)

Sta

te m

achin

e for

DM

A in a

US

B 2

.0 C

ore

11/8

/200

7D

an

iel K

roen

ing

, S

an

jit A

. S

esh

ia87

Ben

ch

mark

s

�E

thern

et

MA

C f

rom

op

en

co

res

.org

�500

0 lin

es o

f R

TL

Veri

log

Ch

ecked

th

ree p

rop

ert

ies:

1.

Tra

nsm

it m

od

ule

sim

ula

tes

sta

te m

ach

ine o

n left

. (E

TH

0)

2.

Ch

ecks t

ran

sit

ion

s o

ut

of

sta

te B

ackO

ff(E

TH

1)

3.

Ch

ecks t

ran

sit

ion

s o

ut

of

sta

te J

am

(E

TH

2)

Sta

te m

achin

e T

ransit m

odule

of an E

thern

et M

AC

11/8

/200

7D

an

iel K

roen

ing

, S

an

jit A

. S

esh

ia88

Oth

er

Ben

ch

mark

s

�IC

RA

M (

Instr

ucti

on

Ca

ch

e R

AM

)

�IC

ac

he

fro

m S

UN

Pic

oJ

av

aII

�C

on

tain

s a

me

mo

ry w

ho

se

siz

e c

an

be

va

rie

d

�T

wo

pro

pe

rtie

s r

ela

ted

to

wri

tin

g t

o a

nd

rea

din

g f

rom

me

mo

ry

�A

R b

en

ch

mark

s

�S

imp

le a

rith

me

tic

be

nc

hm

ark

wit

h t

wo

re

gis

ters

�C

an

va

ry t

he

siz

e o

f re

gis

ters

11/8

/200

7D

an

iel K

roen

ing

, S

an

jit A

. S

esh

ia89

Exp

eri

men

tal re

su

lts

Eth

ern

et

MA

C

US

B

ICR

AM

AR

A d

ash “

-”in

dic

ate

s a

tim

eout of 2 h

our

A s

tar

“*”

indic

ate

s m

odel checker

term

inate

d d

ue to larg

e n

o. of B

DD

variable

s

Cade

nce S

MV

(-absre

f3)

optio

n

11/8

/200

7D

an

iel K

roen

ing

, S

an

jit A

. S

esh

ia90

Pre

dic

ate

s f

rom

Wo

rd-L

evel P

roo

fs

�P

red

icate

s f

rom

weakest-

pre

co

nd

itio

ns

no

t alw

ays id

eal

�Id

ea:

use a

wo

rd-l

evel p

roo

f-en

gin

e t

o

get

bett

er

on

es

(DA

TE

200

7)

11/8

/200

7D

an

iel K

roen

ing

, S

an

jit A

. S

esh

ia91

Exam

ple

: W

ord

-level P

roo

f

reg

[6:0] c;

initial c=0;

always @(posedge

clk)

if(c!=64 && issue && !retire)

c=c+1;

else if(c!=0 && !issue && retire)

c=c-1;

he

ad

tail

RO

B

11/8

/200

7D

an

iel K

roen

ing

, S

an

jit A

. S

esh

ia92

Exam

ple

: W

ord

-level P

roo

f (I

)

reg[6:0] c;

initial c=0;

always @(posedgeclk)

if(c!=64 && issue && !retire)

c=c+1;

else if(c!=0 && !issue && retire)

c=c-1;

11/8

/200

7D

an

iel K

roen

ing

, S

an

jit A

. S

esh

ia93

Exam

ple

: W

ord

-level P

roo

f (I

I)

11/8

/200

7D

an

iel K

roen

ing

, S

an

jit A

. S

esh

ia94

Exam

ple

: W

ord

-level P

roo

f (I

II)

Pro

pe

rty:

c!=127

+ p

red

ica

te c==127

Sp

uri

ou

s c

ou

nte

rex

am

ple

of

len

gth

2

Ab

str

ac

tM

od

el

11/8

/200

7D

an

iel K

roen

ing

, S

an

jit A

. S

esh

ia95

Exam

ple

: W

ord

-level P

roo

f (I

V)

�R

efi

nem

en

t w

ith

weakest

pre

co

nd

itio

n p

rod

uces

pre

dic

ate

c=

=126

�R

eq

uir

es 6

4 r

efi

nem

en

t it

era

tio

ns

�In

ste

ad

: G

ive

sim

ula

tio

n i

ns

tan

ce

to

wo

rd-

lev

el

pro

ve

ra

nd

pe

rfo

rm B

FS

pro

of-

se

arc

h

�G

en

era

tes

pre

dic

ate

c<

=6

4,

wh

ich

sh

ow

s t

he

p

rop

ert

y

11/8

/200

7D

an

iel K

roen

ing

, S

an

jit A

. S

esh

ia96

Su

mm

ary

: P

red

icate

Ab

str

acti

on

�V

eri

ficati

on

at

reg

iste

r le

vel w

ith

ou

t g

oin

g t

o n

etl

ists

�P

red

icate

ab

str

acti

on

usin

g w

ord

-level p

red

icate

s

�H

an

dli

ng

larg

e n

o. o

f p

red

icate

s(p

red

icate

clu

ste

rin

g)

�W

eake

st

pre

-co

nd

itio

ns o

r p

roo

fsfo

r o

bta

inin

g n

ew

pre

dic

ate

s

�V

CE

GA

R

�h

ttp

://w

ww

.cs

.cm

u.e

du

/~m

od

elc

he

ck

/vc

eg

ar

11/8

/200

7D

an

iel K

roen

ing

, S

an

jit A

. S

esh

ia97

Qu

esti

on

s?