+ All Categories
Home > Documents > Veri cation-Modulo-Theory techniques · BMC, interpolation-based, k-induction, predicate...

Veri cation-Modulo-Theory techniques · BMC, interpolation-based, k-induction, predicate...

Date post: 12-Aug-2020
Category:
Upload: others
View: 2 times
Download: 0 times
Share this document with a friend
46
Verification-Modulo-Theory techniques BMC, interpolation-based, k-induction, predicate abstraction and a new combination thereof Stefano Tonetta FBK-irst, Trento, Italy {tonettas}@fbk.eu RichModels Workshop, Turin, 4 October 2011 S. Tonetta (FBK-irst) VMT techniques RichModels, 4 October 2011 1 / 28
Transcript
Page 1: Veri cation-Modulo-Theory techniques · BMC, interpolation-based, k-induction, predicate abstraction and a new combination thereof Stefano Tonetta FBK-irst, Trento, Italy ftonettasg@fbk.eu

Verification-Modulo-Theory techniquesBMC, interpolation-based, k-induction, predicate abstraction

and a new combination thereof

Stefano Tonetta

FBK-irst, Trento, Italy{tonettas}@fbk.eu

RichModels Workshop, Turin, 4 October 2011

S. Tonetta (FBK-irst) VMT techniques RichModels, 4 October 2011 1 / 28

Page 2: Veri cation-Modulo-Theory techniques · BMC, interpolation-based, k-induction, predicate abstraction and a new combination thereof Stefano Tonetta FBK-irst, Trento, Italy ftonettasg@fbk.eu

Motivations I

VMT applied to support the development of embedded systems.

Industrial effort in model-based system engineering.

Validation and verification integrated in the development process.

Many languages used to describe requirements, system architectures,software and hardware components (UML, SysML, MARTE, CHESS,SystemC, Altarica, ...).

Formal approaches to validation and verification assign a formalsemantics to the design models.

Complexity of embedded systems:

Hundreds of functionsNetworked controlReal-time constraintsComplex execution model with mixture of real-time and event-basedtriggers

S. Tonetta (FBK-irst) VMT techniques RichModels, 4 October 2011 2 / 28

Page 3: Veri cation-Modulo-Theory techniques · BMC, interpolation-based, k-induction, predicate abstraction and a new combination thereof Stefano Tonetta FBK-irst, Trento, Italy ftonettasg@fbk.eu

Motivations II

Transition systems are a generic formalism suitable to capture thepeculiarities of the different languages (a relational form is sometimesnecessary).

Symbolic representation allows compact and easy translations.

VMT reduces the verification to a (possibly infinite) series ofsatisfiability checks.

SMT is fundamental to increase the richness of the models.

S. Tonetta (FBK-irst) VMT techniques RichModels, 4 October 2011 3 / 28

Page 4: Veri cation-Modulo-Theory techniques · BMC, interpolation-based, k-induction, predicate abstraction and a new combination thereof Stefano Tonetta FBK-irst, Trento, Italy ftonettasg@fbk.eu

Outline

1 Verification modulo theory

2 VMT techniques

3 VMT techniques with implicit predicate abstraction

4 Conclusions

S. Tonetta (FBK-irst) VMT techniques RichModels, 4 October 2011 4 / 28

Page 5: Veri cation-Modulo-Theory techniques · BMC, interpolation-based, k-induction, predicate abstraction and a new combination thereof Stefano Tonetta FBK-irst, Trento, Italy ftonettasg@fbk.eu

Outline

1 Verification modulo theory

2 VMT techniques

3 VMT techniques with implicit predicate abstraction

4 Conclusions

S. Tonetta (FBK-irst) VMT techniques RichModels, 4 October 2011 5 / 28

Page 6: Veri cation-Modulo-Theory techniques · BMC, interpolation-based, k-induction, predicate abstraction and a new combination thereof Stefano Tonetta FBK-irst, Trento, Italy ftonettasg@fbk.eu

Symbolic transition systems

V : state variables.

V ′: next variables.

A symbolic transition system is a tuple S = 〈V , I ,T 〉 where:

I is a first order formula over V (called initial condition),T is a first order formula over V ∪ V ′ (called transition condition),

where the conditions are formulas of some decidable first-order logic.

Models are sequences π of assignments to V such that:

π0 |= I ,πi , π

′i+1 |= T , for all i , 0 ≤ i < |π|.

S. Tonetta (FBK-irst) VMT techniques RichModels, 4 October 2011 8 / 28

Page 7: Veri cation-Modulo-Theory techniques · BMC, interpolation-based, k-induction, predicate abstraction and a new combination thereof Stefano Tonetta FBK-irst, Trento, Italy ftonettasg@fbk.eu

First-order transition systems

Refined definition.

Σ: first-order signature;

Σr ⊆ Σ signature of rigid symbols;

Σf = Σ \ Σr flexible symbols;

Σ′ = {s ′}s∈Σf: next symbols;

A first-order transition system is a tuple S = 〈Σ,Σr , I ,T 〉 where:

I is a Σ-formula,T is a Σ ∪ Σ′-formula.

T : a Σ-theory.

Models are sequences π of T -models with the same domain and sameinterpretation of the rigid symbols in Σr such that:

π0 |= I ,πi , π

′i+1 |= T , for all i , 0 ≤ i < |π|.

We keep the standard notation where V = Σf and Σr is omitted(assuming no functions, no parameters, ...).

S. Tonetta (FBK-irst) VMT techniques RichModels, 4 October 2011 9 / 28

Page 8: Veri cation-Modulo-Theory techniques · BMC, interpolation-based, k-induction, predicate abstraction and a new combination thereof Stefano Tonetta FBK-irst, Trento, Italy ftonettasg@fbk.eu

First-order transition systems

Refined definition.

Σ: first-order signature;

Σr ⊆ Σ signature of rigid symbols;

Σf = Σ \ Σr flexible symbols;

Σ′ = {s ′}s∈Σf: next symbols;

A first-order transition system is a tuple S = 〈Σ,Σr , I ,T 〉 where:

I is a Σ-formula,T is a Σ ∪ Σ′-formula.

T : a Σ-theory.

Models are sequences π of T -models with the same domain and sameinterpretation of the rigid symbols in Σr such that:

π0 |= I ,πi , π

′i+1 |= T , for all i , 0 ≤ i < |π|.

We keep the standard notation where V = Σf and Σr is omitted(assuming no functions, no parameters, ...).

S. Tonetta (FBK-irst) VMT techniques RichModels, 4 October 2011 9 / 28

Page 9: Veri cation-Modulo-Theory techniques · BMC, interpolation-based, k-induction, predicate abstraction and a new combination thereof Stefano Tonetta FBK-irst, Trento, Italy ftonettasg@fbk.eu

A hybrid system example

VARlocation : real;destination : real;timed : boolean;INITlocation≤destinationTRANS!timed →

(next(location)=location &next(destination)≥location)

TRANStimed →

(location=destination →next(location)=location)

S. Tonetta (FBK-irst) VMT techniques RichModels, 4 October 2011 10 / 28

Page 10: Veri cation-Modulo-Theory techniques · BMC, interpolation-based, k-induction, predicate abstraction and a new combination thereof Stefano Tonetta FBK-irst, Trento, Italy ftonettasg@fbk.eu

A hybrid system example

VARlocation : real;destination : real;timed : boolean;INITlocation≤destinationTRANS!timed →

(next(location)=location &next(destination)≥location)

TRANStimed →

(location=destination →next(location)=location)

Variables

S. Tonetta (FBK-irst) VMT techniques RichModels, 4 October 2011 10 / 28

Page 11: Veri cation-Modulo-Theory techniques · BMC, interpolation-based, k-induction, predicate abstraction and a new combination thereof Stefano Tonetta FBK-irst, Trento, Italy ftonettasg@fbk.eu

A hybrid system example

VARlocation : real;destination : real;timed : boolean;INITlocation≤destinationTRANS!timed →

(next(location)=location &next(destination)≥location)

TRANStimed →

(location=destination →next(location)=location)

Initial condition

S. Tonetta (FBK-irst) VMT techniques RichModels, 4 October 2011 10 / 28

Page 12: Veri cation-Modulo-Theory techniques · BMC, interpolation-based, k-induction, predicate abstraction and a new combination thereof Stefano Tonetta FBK-irst, Trento, Italy ftonettasg@fbk.eu

A hybrid system example

VARlocation : real;destination : real;timed : boolean;INITlocation≤destinationTRANS!timed →

(next(location)=location &next(destination)≥location)

TRANStimed →

(location=destination →next(location)=location)

Transition condition

S. Tonetta (FBK-irst) VMT techniques RichModels, 4 October 2011 10 / 28

Page 13: Veri cation-Modulo-Theory techniques · BMC, interpolation-based, k-induction, predicate abstraction and a new combination thereof Stefano Tonetta FBK-irst, Trento, Italy ftonettasg@fbk.eu

Reachability modulo theory

Reachability

Given a transition system S , a theory T , and a formula φ, is there a finitesequence π of T -models such that:

π is a run of S ;

π|π| |= φ.

Language emptiness

Given a transition system S , a theory T , and a formula φ, is there aninfinite sequence π of T -models such that:

π is a run of S ;

πi |= φ for infinitely many i .

Undecidable.Sound but incomplete solution, no guarantee on termination.Focus on reachability, but the techniques can be easily adapted tofairness.

S. Tonetta (FBK-irst) VMT techniques RichModels, 4 October 2011 11 / 28

Page 14: Veri cation-Modulo-Theory techniques · BMC, interpolation-based, k-induction, predicate abstraction and a new combination thereof Stefano Tonetta FBK-irst, Trento, Italy ftonettasg@fbk.eu

Reachability modulo theory

Reachability

Given a transition system S , a theory T , and a formula φ, is there a finitesequence π of T -models such that:

π is a run of S ;

π|π| |= φ.

Language emptiness

Given a transition system S , a theory T , and a formula φ, is there aninfinite sequence π of T -models such that:

π is a run of S ;

πi |= φ for infinitely many i .

Undecidable.Sound but incomplete solution, no guarantee on termination.Focus on reachability, but the techniques can be easily adapted tofairness.

S. Tonetta (FBK-irst) VMT techniques RichModels, 4 October 2011 11 / 28

Page 15: Veri cation-Modulo-Theory techniques · BMC, interpolation-based, k-induction, predicate abstraction and a new combination thereof Stefano Tonetta FBK-irst, Trento, Italy ftonettasg@fbk.eu

Outline

1 Verification modulo theory

2 VMT techniques

3 VMT techniques with implicit predicate abstraction

4 Conclusions

S. Tonetta (FBK-irst) VMT techniques RichModels, 4 October 2011 12 / 28

Page 16: Veri cation-Modulo-Theory techniques · BMC, interpolation-based, k-induction, predicate abstraction and a new combination thereof Stefano Tonetta FBK-irst, Trento, Italy ftonettasg@fbk.eu

Symbolic model checking

VMT techniques are particular cases of Symbolic Model Checking(SMC)

SMC characteristics: manipulate formulas instead of states.

Typical operations are union, conjunction, sat, quantifier elimination.

VMT uses SMT:

SatisfiabilityIncrementalityModel extractionUnsat core extractionInterpolationQuantifier elimination / ALLSMT

Since quantifier elimination is expensive, many techniques are basedon sat only.

S. Tonetta (FBK-irst) VMT techniques RichModels, 4 October 2011 13 / 28

Page 17: Veri cation-Modulo-Theory techniques · BMC, interpolation-based, k-induction, predicate abstraction and a new combination thereof Stefano Tonetta FBK-irst, Trento, Italy ftonettasg@fbk.eu

BMC

Determine if φ is reachable in k steps.

State variables replicated k + 1 times: V 0,V 1, . . . ,V k−1,V k .

Given ψ(V ), denote ψ[V i/V ] with ψi .

Given ψ(V ,V ′), denote ψ[V i/V ,V i+1/V ′] with ψi .

Encoding of an initial path reaching φ:

I 0 ∧ T 0 ∧ T 1 ∧ . . . ∧ T k−1 ∧ φk

Incremental approach:I 0 ∧ φ0

I 0 ∧ T 0 ∧ φ1

I 0 ∧ T 0 ∧ T 1 ∧ φ2

. . .I 0 ∧ T 0 ∧ T 1 ∧ . . . ∧ T k−1 ∧ φk

S. Tonetta (FBK-irst) VMT techniques RichModels, 4 October 2011 14 / 28

Page 18: Veri cation-Modulo-Theory techniques · BMC, interpolation-based, k-induction, predicate abstraction and a new combination thereof Stefano Tonetta FBK-irst, Trento, Italy ftonettasg@fbk.eu

Interpolation-based model checking

If A ∧ B |= ⊥, the Craig interpolant of A ∧ B is a formula I such that|= A→ I , B ∧ I |= ⊥, and which contains only variables common toA and B.

Interpolation-based model checking:

1 I 0 ∧ T 0 ∧ T 1 ∧ . . . ∧ T k−1 ∧ φk

2 I 01 ∧ T 0 ∧ T 1 ∧ . . . ∧ T k−1 ∧ φk

I2

3 ... until fixpoint.

If sat with abstract initial states, k is increased.

S. Tonetta (FBK-irst) VMT techniques RichModels, 4 October 2011 15 / 28

Page 19: Veri cation-Modulo-Theory techniques · BMC, interpolation-based, k-induction, predicate abstraction and a new combination thereof Stefano Tonetta FBK-irst, Trento, Italy ftonettasg@fbk.eu

Interpolation-based model checking

If A ∧ B |= ⊥, the Craig interpolant of A ∧ B is a formula I such that|= A→ I , B ∧ I |= ⊥, and which contains only variables common toA and B.

Interpolation-based model checking:

1 I 0 ∧ T 0 ∧ T 1 ∧ . . . ∧ T k−1 ∧ φk I1 interpolant over-approximating the reachable states

2 I 01 ∧ T 0 ∧ T 1 ∧ . . . ∧ T k−1 ∧ φk

I2

3 ... until fixpoint.

If sat with abstract initial states, k is increased.

S. Tonetta (FBK-irst) VMT techniques RichModels, 4 October 2011 15 / 28

Page 20: Veri cation-Modulo-Theory techniques · BMC, interpolation-based, k-induction, predicate abstraction and a new combination thereof Stefano Tonetta FBK-irst, Trento, Italy ftonettasg@fbk.eu

Interpolation-based model checking

If A ∧ B |= ⊥, the Craig interpolant of A ∧ B is a formula I such that|= A→ I , B ∧ I |= ⊥, and which contains only variables common toA and B.

Interpolation-based model checking:

1 I 0 ∧ T 0 ∧ T 1 ∧ . . . ∧ T k−1 ∧ φk2 I 0

1 ∧ T 0 ∧ T 1 ∧ . . . ∧ T k−1 ∧ φk

I23 ... until fixpoint.

If sat with abstract initial states, k is increased.

S. Tonetta (FBK-irst) VMT techniques RichModels, 4 October 2011 15 / 28

Page 21: Veri cation-Modulo-Theory techniques · BMC, interpolation-based, k-induction, predicate abstraction and a new combination thereof Stefano Tonetta FBK-irst, Trento, Italy ftonettasg@fbk.eu

Interpolation-based model checking

If A ∧ B |= ⊥, the Craig interpolant of A ∧ B is a formula I such that|= A→ I , B ∧ I |= ⊥, and which contains only variables common toA and B.

Interpolation-based model checking:

1 I 0 ∧ T 0 ∧ T 1 ∧ . . . ∧ T k−1 ∧ φk2 I 0

1 ∧ T 0 ∧ T 1 ∧ . . . ∧ T k−1 ∧ φk I2

3 ... until fixpoint.

If sat with abstract initial states, k is increased.

S. Tonetta (FBK-irst) VMT techniques RichModels, 4 October 2011 15 / 28

Page 22: Veri cation-Modulo-Theory techniques · BMC, interpolation-based, k-induction, predicate abstraction and a new combination thereof Stefano Tonetta FBK-irst, Trento, Italy ftonettasg@fbk.eu

Interpolation-based model checking

If A ∧ B |= ⊥, the Craig interpolant of A ∧ B is a formula I such that|= A→ I , B ∧ I |= ⊥, and which contains only variables common toA and B.

Interpolation-based model checking:

1 I 0 ∧ T 0 ∧ T 1 ∧ . . . ∧ T k−1 ∧ φk2 I 0

1 ∧ T 0 ∧ T 1 ∧ . . . ∧ T k−1 ∧ φk

I2

3 ... until fixpoint.

If sat with abstract initial states, k is increased.

S. Tonetta (FBK-irst) VMT techniques RichModels, 4 October 2011 15 / 28

Page 23: Veri cation-Modulo-Theory techniques · BMC, interpolation-based, k-induction, predicate abstraction and a new combination thereof Stefano Tonetta FBK-irst, Trento, Italy ftonettasg@fbk.eu

K-induction

K-induction proves that if a set of states is not reachable in k steps,then it is not reachable at all.

It consists of a base step (bounded reachability problem), and aninductive step.

Two ways:check if the initial states cannot reach new states in k + 1 stepscheck if the target set of states cannot be reached in k + 1 steps.

Solved by means of satisfiability.

kindfwk := I 0 ∧ T 0 ∧ T 1 ∧ . . . ∧ T k−1 ∧∧

0≤i<j≤kV i 6= V j

kindbwk,φ := T 0 ∧ T 1 ∧ . . . ∧ T k−1 ∧ φk ∧∧

0≤i<j≤kV i 6= V j

If, for all i ≤ k, BMCi ,φ is unsat and, either kindfwk+1 or kindbwk+1,φ

is unsat as well, then φ is not reachable in S .

S. Tonetta (FBK-irst) VMT techniques RichModels, 4 October 2011 16 / 28

Page 24: Veri cation-Modulo-Theory techniques · BMC, interpolation-based, k-induction, predicate abstraction and a new combination thereof Stefano Tonetta FBK-irst, Trento, Italy ftonettasg@fbk.eu

Predicate abstraction

Existential abstraction

Iα(V ) := ∃V (I (V ) ∧ Hα(V , V ))

Tα(V , V ′) := ∃V∃V ′(T (V ,V ′) ∧Hα(V , V ) ∧ Hα(V ′, V ′))

Predicate abstraction: abstract state-space is described with a set ofpredicates P.

Each predicate is represented by an abstract variable (VP = {vP}P∈P).

Abstract relation:HP(V ,VP) :=

∧P∈P vP ↔ P(V )

Quantifier elimination with ALL-SMT.

S. Tonetta (FBK-irst) VMT techniques RichModels, 4 October 2011 17 / 28

Page 25: Veri cation-Modulo-Theory techniques · BMC, interpolation-based, k-induction, predicate abstraction and a new combination thereof Stefano Tonetta FBK-irst, Trento, Italy ftonettasg@fbk.eu

CEGAR loop

Transitionsystem Abstraction Model Checking No violations

Simulation Real bugRefinement

Counter-example π

Spurious

S. Tonetta (FBK-irst) VMT techniques RichModels, 4 October 2011 19 / 28

Page 26: Veri cation-Modulo-Theory techniques · BMC, interpolation-based, k-induction, predicate abstraction and a new combination thereof Stefano Tonetta FBK-irst, Trento, Italy ftonettasg@fbk.eu

Outline

1 Verification modulo theory

2 VMT techniques

3 VMT techniques with implicit predicate abstraction

4 Conclusions

S. Tonetta (FBK-irst) VMT techniques RichModels, 4 October 2011 20 / 28

Page 27: Veri cation-Modulo-Theory techniques · BMC, interpolation-based, k-induction, predicate abstraction and a new combination thereof Stefano Tonetta FBK-irst, Trento, Italy ftonettasg@fbk.eu

General idea

Key idea

Encode the abstract path in terms of concrete variables.

EQ

T

EQ EQ

EQ

T

T

An abstract path encoding represents a sequence of disconnectedtransitions where every gap lays in the same abstract state.Equivalence induced by abstraction:

s, s |= EQα iff two concrete states correspond to the same abstract one.In the case of predicate abstraction:

EQP(V ,V ) := ∃V (∧P∈P

vP ↔ P(V ) ∧∧P∈P

vP ↔ P(V ))

≡∧P∈P

P(V )↔ P(V )

S. Tonetta (FBK-irst) VMT techniques RichModels, 4 October 2011 21 / 28

Page 28: Veri cation-Modulo-Theory techniques · BMC, interpolation-based, k-induction, predicate abstraction and a new combination thereof Stefano Tonetta FBK-irst, Trento, Italy ftonettasg@fbk.eu

Abstract encodings

We use EQα to provide abstract versions of the formulas used forBMC and k-induction.

Abstract path:

PATHα,k :=∧

1≤h<k(T (Vh−1,V h) ∧ EQα(V h,Vh)) ∧ T (Vk−1,V k)

The encoding represents a sequence of disconnected transitions whereevery gap lays in the same abstract state.

EQ

T

EQ EQ

EQ

T

T

S. Tonetta (FBK-irst) VMT techniques RichModels, 4 October 2011 22 / 28

Page 29: Veri cation-Modulo-Theory techniques · BMC, interpolation-based, k-induction, predicate abstraction and a new combination thereof Stefano Tonetta FBK-irst, Trento, Italy ftonettasg@fbk.eu

Path encoding

Rational

Embed the definition of the abstraction in the encoding of BMC andk-induction.

Consider the BMC encoding of the abstract system:

Iα(V0) ∧ Tα(V0,V1) ∧ · · · ∧ Tα(Vk−1,Vk) ∧ φα(Vk)

If we substitute Iα, Tα, and φα with their definitions, we obtain:

∧ Hα(V 0, V0) ∧ T (V 0,V1) ∧ Hα(V1, V1) ∧ · · · ∧Hα(V k−1, Vk−1) ∧ T (V k−1,Vk) ∧ Hα(Vk , Vk) ∧ Hα(V k , Vk) ∧ φ(V k)

Note that the scope of abstract variables Vi is limited to two copiesof the abstraction relation.

S. Tonetta (FBK-irst) VMT techniques RichModels, 4 October 2011 23 / 28

Page 30: Veri cation-Modulo-Theory techniques · BMC, interpolation-based, k-induction, predicate abstraction and a new combination thereof Stefano Tonetta FBK-irst, Trento, Italy ftonettasg@fbk.eu

Path encoding

Rational

Embed the definition of the abstraction in the encoding of BMC andk-induction.

Consider the BMC encoding of the abstract system:

Iα(V0) ∧ Tα(V0, V1) ∧ · · · ∧ Tα(Vk−1, Vk) ∧ φα(Vk)

If we substitute Iα, Tα, and φα with their definitions, we obtain:

∧ Hα(V 0, V0) ∧ T (V 0,V1) ∧ Hα(V1, V1) ∧ · · · ∧Hα(V k−1, Vk−1) ∧ T (V k−1,Vk) ∧ Hα(Vk , Vk) ∧ Hα(V k , Vk) ∧ φ(V k)

Note that the scope of abstract variables Vi is limited to two copiesof the abstraction relation.

S. Tonetta (FBK-irst) VMT techniques RichModels, 4 October 2011 23 / 28

Page 31: Veri cation-Modulo-Theory techniques · BMC, interpolation-based, k-induction, predicate abstraction and a new combination thereof Stefano Tonetta FBK-irst, Trento, Italy ftonettasg@fbk.eu

Path encoding

Rational

Embed the definition of the abstraction in the encoding of BMC andk-induction.

Consider the BMC encoding of the abstract system:

Iα(V0) ∧ Tα(V0, V1) ∧ · · · ∧ Tα(Vk−1, Vk) ∧ φα(Vk)

If we substitute Iα, Tα, and φα with their definitions, we obtain:

∧ Hα(V 0, V0) ∧ T (V 0,V1) ∧ Hα(V1, V1) ∧ · · · ∧Hα(V k−1, Vk−1) ∧ T (V k−1,Vk) ∧ Hα(Vk , Vk) ∧ Hα(V k , Vk) ∧ φ(V k)

Note that the scope of abstract variables Vi is limited to two copiesof the abstraction relation.

S. Tonetta (FBK-irst) VMT techniques RichModels, 4 October 2011 23 / 28

Page 32: Veri cation-Modulo-Theory techniques · BMC, interpolation-based, k-induction, predicate abstraction and a new combination thereof Stefano Tonetta FBK-irst, Trento, Italy ftonettasg@fbk.eu

Path encoding

Rational

Embed the definition of the abstraction in the encoding of BMC andk-induction.

Abstract system

- Iα(V ) := ∃V (I (V ) ∧ Hα(V , V ))- Tα(V , V ′) := ∃V∃V ′(T (V ,V ′) ∧ Hα(V , V ) ∧ Hα(V ′, V ′))- Fα(V ) := ∃V (F (V ) ∧ Hα(V , V ))- φα = ∃V (φ(V ) ∧ Hα(V , V ))

Consider the BMC encoding of the abstract system:

Iα(V0) ∧ Tα(V0, V1) ∧ · · · ∧ Tα(Vk−1, Vk) ∧ φα(Vk)

If we substitute Iα, Tα, and φα with their definitions, we obtain:

∧ Hα(V 0, V0) ∧ T (V 0,V1) ∧ Hα(V1, V1) ∧ · · · ∧Hα(V k−1, Vk−1) ∧ T (V k−1,Vk) ∧ Hα(Vk , Vk) ∧ Hα(V k , Vk) ∧ φ(V k)

Note that the scope of abstract variables Vi is limited to two copiesof the abstraction relation.

S. Tonetta (FBK-irst) VMT techniques RichModels, 4 October 2011 23 / 28

Page 33: Veri cation-Modulo-Theory techniques · BMC, interpolation-based, k-induction, predicate abstraction and a new combination thereof Stefano Tonetta FBK-irst, Trento, Italy ftonettasg@fbk.eu

Path encoding

Rational

Embed the definition of the abstraction in the encoding of BMC andk-induction.

Abstract system

- Iα(V ) := ∃V (I (V ) ∧ Hα(V , V ))- Tα(V , V ′) := ∃V∃V ′(T (V ,V ′) ∧ Hα(V , V ) ∧ Hα(V ′, V ′))- Fα(V ) := ∃V (F (V ) ∧ Hα(V , V ))- φα = ∃V (φ(V ) ∧ Hα(V , V ))

Consider the BMC encoding of the abstract system:

Iα(V0) ∧ Tα(V0, V1) ∧ · · · ∧ Tα(Vk−1, Vk) ∧ φα(Vk)

If we substitute Iα, Tα, and φα with their definitions, we obtain:

I (V0) ∧ Hα(V0, V0)

∧ Hα(V 0, V0) ∧ T (V 0,V1) ∧ Hα(V1, V1) ∧ · · · ∧Hα(V k−1, Vk−1) ∧ T (V k−1,Vk) ∧ Hα(Vk , Vk) ∧ Hα(V k , Vk) ∧ φ(V k)

Note that the scope of abstract variables Vi is limited to two copiesof the abstraction relation.

S. Tonetta (FBK-irst) VMT techniques RichModels, 4 October 2011 23 / 28

Page 34: Veri cation-Modulo-Theory techniques · BMC, interpolation-based, k-induction, predicate abstraction and a new combination thereof Stefano Tonetta FBK-irst, Trento, Italy ftonettasg@fbk.eu

Path encoding

Rational

Embed the definition of the abstraction in the encoding of BMC andk-induction.

Abstract system

- Iα(V ) := ∃V (I (V ) ∧ Hα(V , V ))- Tα(V , V ′) := ∃V∃V ′(T (V ,V ′) ∧ Hα(V , V ) ∧ Hα(V ′, V ′))- Fα(V ) := ∃V (F (V ) ∧ Hα(V , V ))- φα = ∃V (φ(V ) ∧ Hα(V , V ))

Consider the BMC encoding of the abstract system:

Iα(V0) ∧ Tα(V0, V1) ∧ · · · ∧ Tα(Vk−1, Vk) ∧ φα(Vk)

If we substitute Iα, Tα, and φα with their definitions, we obtain:

I (V0) ∧ Hα(V0, V0) ∧ Hα(V 0, V0) ∧ T (V 0,V1) ∧ Hα(V1, V1)

∧ · · · ∧Hα(V k−1, Vk−1) ∧ T (V k−1,Vk) ∧ Hα(Vk , Vk) ∧ Hα(V k , Vk) ∧ φ(V k)

Note that the scope of abstract variables Vi is limited to two copiesof the abstraction relation.

S. Tonetta (FBK-irst) VMT techniques RichModels, 4 October 2011 23 / 28

Page 35: Veri cation-Modulo-Theory techniques · BMC, interpolation-based, k-induction, predicate abstraction and a new combination thereof Stefano Tonetta FBK-irst, Trento, Italy ftonettasg@fbk.eu

Path encoding

Rational

Embed the definition of the abstraction in the encoding of BMC andk-induction.

Abstract system

- Iα(V ) := ∃V (I (V ) ∧ Hα(V , V ))- Tα(V , V ′) := ∃V∃V ′(T (V ,V ′) ∧ Hα(V , V ) ∧ Hα(V ′, V ′))- Fα(V ) := ∃V (F (V ) ∧ Hα(V , V ))- φα = ∃V (φ(V ) ∧ Hα(V , V ))

Consider the BMC encoding of the abstract system:

Iα(V0) ∧ Tα(V0, V1) ∧ · · · ∧ Tα(Vk−1, Vk) ∧ φα(Vk)

If we substitute Iα, Tα, and φα with their definitions, we obtain:

I (V0) ∧ Hα(V0, V0) ∧ Hα(V 0, V0) ∧ T (V 0,V1) ∧ Hα(V1, V1) ∧ · · · ∧Hα(V k−1, Vk−1) ∧ T (V k−1,Vk) ∧ Hα(Vk , Vk)

∧ Hα(V k , Vk) ∧ φ(V k)

Note that the scope of abstract variables Vi is limited to two copiesof the abstraction relation.

S. Tonetta (FBK-irst) VMT techniques RichModels, 4 October 2011 23 / 28

Page 36: Veri cation-Modulo-Theory techniques · BMC, interpolation-based, k-induction, predicate abstraction and a new combination thereof Stefano Tonetta FBK-irst, Trento, Italy ftonettasg@fbk.eu

Path encoding

Rational

Embed the definition of the abstraction in the encoding of BMC andk-induction.

Abstract system

- Iα(V ) := ∃V (I (V ) ∧ Hα(V , V ))- Tα(V , V ′) := ∃V∃V ′(T (V ,V ′) ∧ Hα(V , V ) ∧ Hα(V ′, V ′))- Fα(V ) := ∃V (F (V ) ∧ Hα(V , V ))- φα = ∃V (φ(V ) ∧ Hα(V , V ))

Consider the BMC encoding of the abstract system:

Iα(V0) ∧ Tα(V0, V1) ∧ · · · ∧ Tα(Vk−1, Vk) ∧ φα(Vk)

If we substitute Iα, Tα, and φα with their definitions, we obtain:

I (V0) ∧ Hα(V0, V0) ∧ Hα(V 0, V0) ∧ T (V 0,V1) ∧ Hα(V1, V1) ∧ · · · ∧Hα(V k−1, Vk−1) ∧ T (V k−1,Vk) ∧ Hα(Vk , Vk) ∧ Hα(V k , Vk) ∧ φ(V k)

Note that the scope of abstract variables Vi is limited to two copiesof the abstraction relation.

S. Tonetta (FBK-irst) VMT techniques RichModels, 4 October 2011 23 / 28

Page 37: Veri cation-Modulo-Theory techniques · BMC, interpolation-based, k-induction, predicate abstraction and a new combination thereof Stefano Tonetta FBK-irst, Trento, Italy ftonettasg@fbk.eu

Path encoding

Rational

Embed the definition of the abstraction in the encoding of BMC andk-induction.

Consider the BMC encoding of the abstract system:

Iα(V0) ∧ Tα(V0, V1) ∧ · · · ∧ Tα(Vk−1, Vk) ∧ φα(Vk)

If we substitute Iα, Tα, and φα with their definitions, we obtain:

I (V0) ∧ Hα(V0, V0) ∧ Hα(V 0, V0) ∧ T (V 0,V1) ∧ Hα(V1, V1) ∧ · · · ∧Hα(V k−1, Vk−1) ∧ T (V k−1,Vk) ∧ Hα(Vk , Vk) ∧ Hα(V k , Vk) ∧ φ(V k)

Note that the scope of abstract variables Vi is limited to two copiesof the abstraction relation.

S. Tonetta (FBK-irst) VMT techniques RichModels, 4 October 2011 23 / 28

Page 38: Veri cation-Modulo-Theory techniques · BMC, interpolation-based, k-induction, predicate abstraction and a new combination thereof Stefano Tonetta FBK-irst, Trento, Italy ftonettasg@fbk.eu

Path encoding

Rational

Embed the definition of the abstraction in the encoding of BMC andk-induction.

Consider the BMC encoding of the abstract system:

Iα(V0) ∧ Tα(V0, V1) ∧ · · · ∧ Tα(Vk−1, Vk) ∧ φα(Vk)

If we substitute Iα, Tα, and φα with their definitions, we obtain:

I (V0) ∧ EQα(V0,V 0) ∧ T (V 0,V1) ∧ Hα(V1, V1) ∧ · · · ∧Hα(V k−1, Vk−1) ∧ T (V k−1,Vk) ∧ EQα(Vk ,V k) ∧ φ(V k)

Note that the scope of abstract variables Vi is limited to two copiesof the abstraction relation.

S. Tonetta (FBK-irst) VMT techniques RichModels, 4 October 2011 23 / 28

Page 39: Veri cation-Modulo-Theory techniques · BMC, interpolation-based, k-induction, predicate abstraction and a new combination thereof Stefano Tonetta FBK-irst, Trento, Italy ftonettasg@fbk.eu

Abstract model checking

Abstract BMC:BMCα,k,φ := I (V0)∧EQα(V0,V 0)∧ PATHα,k ∧EQα(Vk ,V k)∧φ(Vk)

Abstract simple path:SIMPLEPATHα,k := PATHα,k ∧

∧0≤i<j≤k ¬EQα(Vi ,Vj)

Abstract forward simple path:

kindfwα,k := I (V0) ∧ EQα(V0,V 0) ∧ SIMPLEPATHα,k

Abstract backward simple path:

kindbwα,k,φ := SIMPLEPATHα,k ∧ EQα(Vk ,V k) ∧ φ(Vk)

If, for all i ≤ k, BMCα,i ,φ is unsat and, either kindfwα,k+1 or

kindbwα,k+1,φ is unsat as well, then φ is not reachable in S .

S. Tonetta (FBK-irst) VMT techniques RichModels, 4 October 2011 24 / 28

Page 40: Veri cation-Modulo-Theory techniques · BMC, interpolation-based, k-induction, predicate abstraction and a new combination thereof Stefano Tonetta FBK-irst, Trento, Italy ftonettasg@fbk.eu

Abstraction refinement

Incremental abstraction: exploiting EQP∪P′ = EQP ∧ EQP′

EQ

1

EQ

1

EQ

1

EQ

1T

T

EQ

2

EQ

2

EQ

2

EQ

2

T

Incremental concretization:

EQ

TEQ EQ

EQ

T

T

= = ==

Predicate discovery based on interpolation.

S. Tonetta (FBK-irst) VMT techniques RichModels, 4 October 2011 25 / 28

Page 41: Veri cation-Modulo-Theory techniques · BMC, interpolation-based, k-induction, predicate abstraction and a new combination thereof Stefano Tonetta FBK-irst, Trento, Italy ftonettasg@fbk.eu

Abstraction refinement

Incremental abstraction: exploiting EQP∪P′ = EQP ∧ EQP′

EQ

1

EQ

1

EQ

1

EQ

1T

T

EQ

2

EQ

2

EQ

2

EQ

2

T

Incremental concretization:

EQ

TEQ EQ

EQ

T

T

= = ==

Predicate discovery based on interpolation.

S. Tonetta (FBK-irst) VMT techniques RichModels, 4 October 2011 25 / 28

Page 42: Veri cation-Modulo-Theory techniques · BMC, interpolation-based, k-induction, predicate abstraction and a new combination thereof Stefano Tonetta FBK-irst, Trento, Italy ftonettasg@fbk.eu

Abstraction refinement

Incremental abstraction: exploiting EQP∪P′ = EQP ∧ EQP′

EQ

1

EQ

1

EQ

1

EQ

1T

T

EQ

2

EQ

2

EQ

2

EQ

2

T

Incremental concretization:

EQ

TEQ EQ

EQ

T

T

= = ==

Predicate discovery based on interpolation.

S. Tonetta (FBK-irst) VMT techniques RichModels, 4 October 2011 25 / 28

Page 43: Veri cation-Modulo-Theory techniques · BMC, interpolation-based, k-induction, predicate abstraction and a new combination thereof Stefano Tonetta FBK-irst, Trento, Italy ftonettasg@fbk.eu

Abstraction refinement

Incremental abstraction: exploiting EQP∪P′ = EQP ∧ EQP′

EQ

1

EQ

1

EQ

1

EQ

1T

T

EQ

2

EQ

2

EQ

2

EQ

2

T

Incremental concretization:

EQ

TEQ EQ

EQ

T

T

= = ==

Predicate discovery based on interpolation.

S. Tonetta (FBK-irst) VMT techniques RichModels, 4 October 2011 25 / 28

Page 44: Veri cation-Modulo-Theory techniques · BMC, interpolation-based, k-induction, predicate abstraction and a new combination thereof Stefano Tonetta FBK-irst, Trento, Italy ftonettasg@fbk.eu

Abstraction refinement

Incremental abstraction: exploiting EQP∪P′ = EQP ∧ EQP′

EQ

1

EQ

1

EQ

1

EQ

1T

T

EQ

2

EQ

2

EQ

2

EQ

2

T

Incremental concretization:

EQ

TEQ EQ

EQ

T

T

= = ==

Predicate discovery based on interpolation.

S. Tonetta (FBK-irst) VMT techniques RichModels, 4 October 2011 25 / 28

Page 45: Veri cation-Modulo-Theory techniques · BMC, interpolation-based, k-induction, predicate abstraction and a new combination thereof Stefano Tonetta FBK-irst, Trento, Italy ftonettasg@fbk.eu

Outline

1 Verification modulo theory

2 VMT techniques

3 VMT techniques with implicit predicate abstraction

4 Conclusions

S. Tonetta (FBK-irst) VMT techniques RichModels, 4 October 2011 27 / 28

Page 46: Veri cation-Modulo-Theory techniques · BMC, interpolation-based, k-induction, predicate abstraction and a new combination thereof Stefano Tonetta FBK-irst, Trento, Italy ftonettasg@fbk.eu

Conclusions

In this talk: BMC, k-induction, interpolation, predicate abstractionand combination thereof.

At FBK, we work both on VMT engine and applications:

hybrid verification (Mover’s thesis),software verification (Kratos model checker),requirements validation and safety assessment for expressive logic.

Better to avoid quantifier elimination new VMT techniques.

Other SAT-based techniques not described: interpolation-sequenceand IC3.

S. Tonetta (FBK-irst) VMT techniques RichModels, 4 October 2011 28 / 28


Recommended