abstraction (cont’d)

24
1 Abstraction (Cont’d) Defining an Abstract Domain variable elimination, data abstraction, predicate abstraction Abstraction for Universal/Existential Properties over- and under-approximations Abstraction for Mixed Properties 3-valued abstraction Overlapping Abstract Domains Belnap (4-valued) abstraction

Upload: natane

Post on 25-Feb-2016

89 views

Category:

Documents


3 download

DESCRIPTION

Abstraction (Cont’d). Defining an Abstract Domain variable elimination, data abstraction, predicate abstraction Abstraction for Universal/Existential Properties over- and under-approximations Abstraction for Mixed Properties 3-valued abstraction Overlapping Abstract Domains - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Abstraction (Cont’d)

1

Abstraction (Cont’d) Defining an Abstract Domain

variable elimination, data abstraction, predicate abstraction

Abstraction for Universal/Existential Propertiesover- and under-approximations

Abstraction for Mixed Properties3-valued abstraction

Overlapping Abstract DomainsBelnap (4-valued) abstraction

Page 2: Abstraction (Cont’d)

2

Recall: Defining an Abstract Domain

Abstraction : S→S’

S

S’

γ γ γ γγ

Concretization γ : S’→2S

Page 3: Abstraction (Cont’d)

3

Abstract Kripke Structure Abstract interpretation of atomic propositions

I ’(a, p) = true iff forall s in (a), I (s, p) = trueI ’(a, p) = false iff forall s in (a), I (s, p) =

false

Abstract Transition Relation (2 choices)Over-Approximation (Existential)

Make a transition from an abstract state if at least one corresponding concrete state has the transition.

Under-Approximation (Universal)Make a transition from an abstract state if all the corresponding

concrete states have the transition.

Page 4: Abstraction (Cont’d)

4

Which abstraction to use?

PropertyType

Expected Result

Abstraction to use

Universal(ACTL, LTL)

True Over-False Under-

Existential(ECTL)

True Under-

False Over-

But what about mixed properties?!

Page 5: Abstraction (Cont’d)

5

3-Valued Kleene LogicInformation Ordering

⊥f t

truefalse

unknown

t ⋀ ⊥ =

⊥ t ⋁⊥ =

t ¬t = f ¬⊥ =

Truth Ordering

⊥f

t

Page 6: Abstraction (Cont’d)

6

3-Valued Kripke Structures

p = tq = f

p = fq = f

p = tq = ⊥

t

f

⊥ Kripke structures extended to 3-

valued logic Propositions can be

True, False, or Unknown Transitions

possible: ⊥necessary and possible: timpossible: f

s0

s2

s1

⊥t

Page 7: Abstraction (Cont’d)

7

3-Valued Abstraction

p

pq

t

f

⊥p

pq

over-approximation

under-approximation

p

pq

3-Valued Abstraction

Page 8: Abstraction (Cont’d)

8

Example Revisited (3-Val Abstraction)

I

I⊥

⊥⊥

⊥⊥

tt

tt

Page 9: Abstraction (Cont’d)

9

Model-Checking with 3 Values

Usual semantics of temporal operators

BUT connectives ⋀ ⋁ ¬ are interpreted in 3-Valued Logic

t

f

(EX ¬p)(s0) = t(EX q)(s0) = ⊥(EX ¬p⋀q)(s0) = f

Examples

s0

s2

s1p

pq

(EX p)(s) = ⋁t R(s,t) ⋀ p(t)

Page 10: Abstraction (Cont’d)

10

Preservation via 3-Valued Abstraction Let φ be a temporal formula (CTL) Let K’ be a 3-valued abstraction of K Preservation Theorem

Abstract MC Result Concrete Information

True K ⊨ φFalse K ⊨ ¬φ

Maybe K ⊨ φ or K ⊨ ¬φ

Preserves truth and falsity of arbitrary properties!

no informati

on

Page 11: Abstraction (Cont’d)

11

Abstraction (Outline) Defining an Abstract Domain

variable elimination, data abstraction, predicate abstraction

Abstraction for Universal/Existential Propertiesover- and under-approximations

Abstraction for Mixed Properties3-valued abstraction

Overlapping Abstract DomainsBelnap (4-valued) abstraction

Page 12: Abstraction (Cont’d)

12

Example: Coarse Abstract Domain

s0

s1

s2

pq

q s3a0 a1

Over-Approximation Under-Approximation

p?qa0 a1

p?q

a0 a1

AX (p ⋁ ¬p) is inconclusive

EX (q) is true

Goal: make AX conclusive as well, via domain refinement

Page 13: Abstraction (Cont’d)

13

Example: Refined Abstract Domain

s0

s1

s2pq

q s3a0

Over-Approximation Under-Approximation

AX (p ⋁ ¬p) is true

EX (q) is inconclusive

a2

a3

pq

a0

a2

q a3

pq

a0

a2

q a3

Partitioned domain does not work!Need an overlapping abstract domain!!!

Page 14: Abstraction (Cont’d)

14

Example: Overlapping Abstract Domain

s0

s1

s2

pq

q s3a0

Over-Approximation Under-Approximation

AX (p ⋁ ¬p) is true

EX (q) is true

a2

a3a1

pq

a0

a2

q a3

p?q a1

pq

a0

a2

q a3

p?q a1

Page 15: Abstraction (Cont’d)

15

Supporting Overlapping Abstract Domains Goal

as before, want to combine over- and under-approximations to support analysis of mixed properties

Problem3-valued logic is no longer sufficientneed to deal with 4 types of transitions

over-, under-, both over- and under-, and neither

i.e., under-approx is no longer a subset of over-approx

Solutionuse 4-valued Belnap logic

Page 16: Abstraction (Cont’d)

16

Belnap LogicInformation Ordering

⊥f t

truefalse

unknown

inconsistent

t ⋀ ⊥ =

⊥ t ⋁⊥ =

t ¬t = f ¬⊥ =

Truth Ordering

⊤⊥f

t

Page 17: Abstraction (Cont’d)

17

Belnap Kripke Structures

f

⊥ ⊤ Kripke structures extended to

Belnap logic Propositions

True, False, or Unknown Transitions

only under-approximation: ⊤only over-approximation: ⊥both over- and under-: tneither: f

p = tq = f

p = fq = f

p = tq = ⊥

p = tq = t

t⊥

⊥ ⊤

Page 18: Abstraction (Cont’d)

18

Belnap Kripke Structures

p

pq?

pq

t

f

⊥ ⊤p

pq

p

pq?

Over-approximation

Under-approximation

Page 19: Abstraction (Cont’d)

19

Overview of Model Checking

Yes/No

Answer

SW/HW

artifact

Correctnessproperties

Temporallogic

Model of

System

Model Extraction

Translation

Model Checker

Correct?

[CDEG03]

Page 20: Abstraction (Cont’d)

20

Yes/No

Answer

SW/HW

artifact

Correctnessproperties

Temporallogic

Model of

System

Model Extraction

Translation

Model Checker

MV-Logic

MV-Logic

Answer

MV-Model Checker

How correct?

[CDEG03]

Overview of MV-Model Checking

Page 21: Abstraction (Cont’d)

21

Preservation via Belnap Abstraction Let φ be a temporal formula (CTL) Let K’ be a Belnap abstraction of K Preservation Theorem

Abstract MC Result Concrete Information

True K ⊨ φ

False K ⊨ ¬φ

⊥ K ⊨ φ or K ⊨ ¬φ

⊤ K ⊨ φ and K ⊨ ¬φ

Preserves truth and falsity of arbitrary properties!

Not possible for

a sound abstraction

Page 22: Abstraction (Cont’d)

22

SummaryAbstraction is the key to scaling up

1. Choose an abstract domain Variable elimination, data abstraction, predicate abstraction, …

2. Choose a type of abstraction Over-, Under-, 3Val, Belnap

3. Build an abstract model ($$$$$)4. Model-check the property on the abstract

model5. If the result is conclusive, STOP6. Otherwise, pick a new abstract domain,

REPEAT

Page 23: Abstraction (Cont’d)

23

References [DGG97] D. Dams, R. Gerth, and O. Grumberg,

“Abstract Interpretation of Reactive Systems”. In TOPLAS, No. 19, Vol. 2, pp. 253-291, 1997.

[CDEG03] M. Chechik, B. Devereux, S. Easterbrook, and A. Gurfinkel, “Multi-Valued Symbolic Model-Checking”. In TOSEM, No. 4, Vol. 12, pp. 1-38, 2003.

Page 24: Abstraction (Cont’d)

24

AcknowledgementsThese slides are based on the tutorial “Model-

Checking: From Software to Hardware” given by Marsha Chechik and Arie Gurfinkel at Formal Methods 2006.