34
On Bounded Invariant Checking of Blackbox-Designs Marc Herbstritt (joint work with Bernd Becker) Institute of Computer Science Albert-Ludwigs-University Freiburg im Breisgau, Germany Presentation at IEEE MTV 2005, Nov 03 2005

On Bounded Invariant Checking of Blackbox-Designsherbstri/publications/hb_2005-slides.pdf2 Partial Verification: E.g. in early design stage. Introduction Bounded Invariant Checking

Embed Size (px)

Citation preview

On Bounded Invariant Checking of

Blackbox-Designs

Marc Herbstritt

(joint work with Bernd Becker)

Institute of Computer ScienceAlbert-Ludwigs-UniversityFreiburg im Breisgau, Germany

Presentation at IEEE MTV 2005, Nov 03 2005

Overview

1 Introduction

2 Bounded Invariant Checking

3 01X

4 Experiments

5 Conclusions

Introduction Bounded Invariant Checking 01X Experiments Conclusions

Applications of Blackboxing

Blackbox

Blackbox enc(bin,A)+enc(bin,B) ?op(A,B,+,enc(bin)) =

MUX

MUX

A

B

MUX

MUX

ALUBlackbox

Property is not dependenton BCD−units and Shifter

1 Abstraction: Hide components that are not necessary.

Introduction Bounded Invariant Checking 01X Experiments Conclusions

Applications of Blackboxing

Blackbox

Blackbox

enc(bin,A)+enc(bin,B) ?op(A,B,+,enc(bin)) =

MUX

MUX

A

B

MUX

MUX

ALU

Implementation of Shifter andBCD−SUB unit not finished

BCD−ADD

2 Partial Verification: E.g. in early design stage.

Introduction Bounded Invariant Checking 01X Experiments Conclusions

Applications of Blackboxing

MUX

MUX

A

B

MUX

MUX

ALU

BlackboxBCD−SUB

Shifter

within the blackbox regionCheck whether error lies

3 Diagnosis: Localisation of error.

Introduction Bounded Invariant Checking 01X Experiments Conclusions

Validity vs. Realizability

Validity

For all blackbox implementations, does the propertyhold? [∀]

Realizability

Does there exist at least one blackbox implementation,such that the property holds? [∃]

Introduction Bounded Invariant Checking 01X Experiments Conclusions

Verification vs. Falsification

Verification

To prove that the property holds. [⊤]

Falsification

To find a counterexample that violates the property. [⊥]

Introduction Bounded Invariant Checking 01X Experiments Conclusions

Validity vs. Realizability

Verification vs. Falsification

Relationship 1

Verifiying validity of property ϕ

mFalsifying realizability of property (¬ϕ)

[∀,⊤, ϕ] = [∃,⊥, (¬ϕ)]

Introduction Bounded Invariant Checking 01X Experiments Conclusions

Validity vs. Realizability

Verification vs. Falsification

Relationship 2

Verifiying realizability of property ̺

mFalsifying validity of property (¬̺)

[∃,⊤, ̺] = [∀,⊥, (¬̺)]

Introduction Bounded Invariant Checking 01X Experiments Conclusions

Bounded Invariant Checking for

Blackbox-Designs

Given:

Incomplete circuit implementation, i.e. circuitcontaining blackboxesInvariant, i.e. a property ϕ that should always hold

Wish: To know that the circuit is already correctwrt. ϕ (i.e., verifying validity)

Implementation: If we can falsify realizability of ϕ,we know definitely that the system is incorrect wrt. ϕ.

Relationship 3

Verifying validity⇒ Verifying realizability.Falsifying realizability⇒ Falsifying validity.

Introduction Bounded Invariant Checking 01X Experiments Conclusions

Methodology

Algorithms and Data structures

BMC: Integrate blackbox modelling into BMCformulation

AIG: Use AND/INV-graphs for problemrepresentation

SAT: Apply dedicated SAT-engine for AIGs

Logic: Extend decision procedure to 01X-logic

Introduction Bounded Invariant Checking 01X Experiments Conclusions

Finite unfolding for BMC

n blackboxes and unfolding depth k⇒ (n× k) blackboxes in unfolded transition relation!

s0[0,k−1]

s1[0,k−1]

s2[0,k−1]

xd−1[0,n−1]

sd−1[0,k−1]

sd[0,k−1]

x0[0,n−1]

x1[0,n−1]

I(s0) T(s0, x0, s1) T(s1, x1, s2)

T(s0, sd)

BMC(d) = 1?

T(sd−1, xd−1, sd)

I(s0) ∧ T(s0, sd) ∧ ¬P(sd)

P(sd)

Introduction Bounded Invariant Checking 01X Experiments Conclusions

Modelling blackboxes with 01X-logic

Modelling unknown blackbox functionality

Value ’X’ on blackbox output models the meaning ’Valueis either 0 or 1, but unknown’.

. . . . . .

X X X

xin−1xi1xi0si0 sik−1si1

δ0 δ1 δk−1

BB

Introduction Bounded Invariant Checking 01X Experiments Conclusions

Modelling blackboxes with 01X-logic

Modelling unknown blackbox functionality

Value ’X’ on blackbox output models the meaning ’Valueis either 0 or 1, but unknown’.

Satisfiability = Counterexample

Satisfiable solution of BMC that is independent of X-valueis a concrete counterexample that violates property ϕ .

Introduction Bounded Invariant Checking 01X Experiments Conclusions

How to handle 01X

1 Adapt encoding (ENC-SAT)

For each 01X-variable x, introduce new propositionalvariables x0 and x1Adapt operators: AND01X(x, y) = [x0 + y0, x1 · y1]Relies on propositional decision procedureJain et al. (VTS 2000)

2 Adapt SAT-engine (01X-SAT)

Extend propagation rules: AND01X(1,X) = XKeep problem representation

Introduction Bounded Invariant Checking 01X Experiments Conclusions

Comparison

a1 a0 b1 b0

* +AND

* +AND

NOTNOT

* +AND

NOTNOT

* *

*

a b

Introduction Bounded Invariant Checking 01X Experiments Conclusions

Comparison: X-Propagation

a1 a0 b1 b0

NOT

* *

*

a bX

0

0

0

10

[(0,0) == X]

[(0,1) == 0]

0

* +AND

NOT NOT

* +AND

* +AND

NOT

Assume to check value 0 at AND-gate output with oneinput constrained to X.

Introduction Bounded Invariant Checking 01X Experiments Conclusions

Comparison: X-Propagation

* *

*

a bX

0

1

1.try

conflict

* *

*

a b

0

X

1

2.try

conflict

a1 a0 b1 b0

* +AND

* +AND

NOTNOT

* +AND

NOTNOT

0

0

0

0

0

0

0

0

0

01

0 0

0

[(0,0) == X]

[(0,−) == 0+X] [(0,−) == 0+X]

[(−,0) == 1+X][(−,0) == 1+X]

[(−,0) == 1+X][(0,1) == 0] conflict

0

ENC-SAT can propogate set of values.

Introduction Bounded Invariant Checking 01X Experiments Conclusions

Comparison: Justification selection

*

0

*

0

*

0

*AND

*

0 100

*

AND

*

0 100

*

AND

*

0 100

1 justification in 01X-SAT⇔ 2 justifications in ENC-SAT

Introduction Bounded Invariant Checking 01X Experiments Conclusions

Comparison: Justification selection

*

0

*

0

*

0AND

*

00

*0

1

AND

*

00

*0

1

AND

*

00

*0

1

Propositional SAT-engine can be misguided in ENC-SAT.

Introduction Bounded Invariant Checking 01X Experiments Conclusions

Conflict Learning

u v w

STATIC_0

Conflict due to (u ≡ 1), (v ≡ 1), and (w ≡ 1)⇒ add vertices that force (u · v · w) ≡ 0.

Introduction Bounded Invariant Checking 01X Experiments Conclusions

Conflict Learning

u v w

1 0

X

X

imply 0?

STATIC_0

X-values disable conflict detection in the usual way andnew implications within propositional fragment: w couldbe 0 or X!

Introduction Bounded Invariant Checking 01X Experiments Conclusions

Comparison: Summary

ENC-SAT 01X-SAT

Representation 2 · n nset of singlePropagationvalues valueignoring structureJustificationstructure aware

Conflict limited toLearning

fullprop. fragment

Introduction Bounded Invariant Checking 01X Experiments Conclusions

Experiments: Setup

Selected benchmarks from VIS benchmark suite:s1269 and PicoJava/biu

Introduced single error into the circuits⇒ violating at least one invariant property!

Added blackboxes”around“ the error

2730 BMC problems containing blackboxes

each BMC instance is checked with increasing depthup to a pre-determined treshold

Introduction Bounded Invariant Checking 01X Experiments Conclusions

Impact of problem representation

1 No propagation of X-values

2 Enabled propositional conflict learning

# SAT # UNSAT # UNRES # L1 # I2 time

01X 569 18754 366 48K 202M 13292Enc 573 18529 346 18K 414M 20542

1L = learned conflicts2I = implications due to learning

Introduction Bounded Invariant Checking 01X Experiments Conclusions

Impact of problem representation

0

20

40

60

80

100

120

140

160

0 10 20 30 40 50 60 70 80

time

Jain

time 01X

Comparison of 01X vs. two-valued encoding (Jain)2005-10-21-experiments-XProp0.log

no method fails01X fails, Jain succeeds01X succeeds, Jain fails

both methods failx

ENC−SAT worse

01X−SAT worse

time 01X−SAT

time

EN

C−S

AT

Introduction Bounded Invariant Checking 01X Experiments Conclusions

Impact of X-propagation

1 Enabled propagation of X-values

2 Disabled propositional conflict learning

# SAT # UNSAT # UNRES # D1 # A2 time

01X 573 18600 388 975M 33G 13049Enc 581 19675 84 245M 18G 6241

1D = decisions, i.e., selection of justifications2A = assignments (incl. propagation)

Introduction Bounded Invariant Checking 01X Experiments Conclusions

Impact of X-propagation

0

20

40

60

80

100

0 10 20 30 40 50 60 70

time

Jain

time 01X

Comparison of 01X vs. two-valued encoding (Jain)2005-10-21-experiments-XProp1-wo-CL.log

no method fails01X fails, Jain succeeds01X succeeds, Jain fails

both methods failx

Introduction Bounded Invariant Checking 01X Experiments Conclusions

Combining Conflict Learning and

X-propagation

1 Enabled propagation of X-values

2 Enabled propositional conflict learning

# SAT # UNSAT # UNRES # D # A # L # I time

01X 572 18800 339 853M 31G 43K 137M 12493

Enc 589 19766 49 148M 12G 33K 129M 4336

Introduction Bounded Invariant Checking 01X Experiments Conclusions

Combining Conflict Learning and

X-propagation

0

20

40

60

80

100

120

0 10 20 30 40 50 60 70 80 90

time

Jain

time 01X

Comparison of 01X vs. two-valued encoding (Jain)2005-10-21-experiments-XProp1.log

no method fails01X fails, Jain succeeds01X succeeds, Jain fails

both methods failx

Introduction Bounded Invariant Checking 01X Experiments Conclusions

How powerful is 01X-modelling

errors detectioncircuit # BB1 %area 2found rate (%)

1 5 162/370 43.781 10 111/340 32.64

s1269 1 20 75/430 17.412 10 76/380 20.003 20 18/460 03.91

1 5 65/150 43.33PicoJava/ 1 10 56/150 37.33biu 1 20 9/150 06.00

2 10 15/150 10.003 20 2/150 01.33

1# BB = number of blackboxes2%area = size of blackbox(es)

Introduction Bounded Invariant Checking 01X Experiments Conclusions

Conclusions

Bounded Invariant Checking for Blackbox Designs isfeasible

ENC-SAT profits from propositional core

In its purity, 01X-SAT can benefit from structuralknowledge

Introduction Bounded Invariant Checking 01X Experiments Conclusions

Future work

Make propagation of a set of values applicable to01X-SAT

Adapt conflict learning to 01X-SAT

Increase accuracy of blackbox modelling

Develop structural QBF-solver

Mixing 01X-logic and quantification

Introduction Bounded Invariant Checking 01X Experiments Conclusions

Thanks foryour attention!