• Keine Ergebnisse gefunden

HinweisezumTutorium Termin:14.11.2007

N/A
N/A
Protected

Academic year: 2021

Aktie "HinweisezumTutorium Termin:14.11.2007"

Copied!
4
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Statische Analyse durch abstrakte Interpretation WS 2007/08

Hinweise zum Tutorium

Termin: 14.11.2007

Teil 1: Spezifikation konkrete Semantik

Wir betrachten weiterhin das Programm

p0: while isEven(x) { p1: x = x div 2;

}

p2: x = 4 * x;

p3: exit

Die Menge der Programmlabels:

P = def {p 0 , p 1 , p 2 , p 3 } Die Menge der m¨oglichen Werte f¨ ur x:

x ∈ Z

Der Zustandsraum:

S c = def P × Z Die Transitionsrelation −→ c :

isEven(x)

(p 0 , x) −→ c (p 1 , x) , ¬isEven(x) (p 0 , x) −→ c (p 2 , x) ,

(p 1 , x) −→ c (p 0 , x div 2) ,

(p 2 , x) −→ c (p 3 , 4 ∗ x) M¨ogliche Menge der Startzust¨ande:

S 0

c

= def {(p 0 , x) | x ∈ Z } Das Transitionssystem:

T S c = def (S c , S 0

c

, −→ c )

Teil 2: Potenzmengenverband Der Potenzmengenverband von S c :

S P = def ( P (S c ), ⊆)

(2)

Statische Analyse durch abstrakte Interpretation, WS 2007/08

Die Transitionsrelation −→ P :

x q p ∈ Z

{p 0 } × {x 1 0 , . . . , x n 0

0

}∪

{p 1 } × {x 1 1 , . . . , x n 1

1

}∪

{p 2 } × {x 1 2 , . . . , x n 2

2

}∪

{p 3 } × {x 1 3 , . . . , x n 3

3

}

−→ P

{p 1 } × {x i 0 | i ∈ 1 . . . n 0 ∧ isEven(x i 0 )}∪

{p 2 } × {x i 0 | i ∈ 1 . . . n 0 ∧ ¬isEven(x i 0 )}∪

{p 0 } × {x i 1 div 2 | i ∈ 1 . . . n 1 }∪

{p 3 } × {4 ∗ x i 2 | i ∈ 1 . . . n 2 }∪

{p 3 } × {x i 3 | i ∈ 1 . . . n 3 } M¨ogliche Menge der Startzust¨ande:

S 0

P

= def {S 0

c

} Das Potenzmengentransitionssystem:

T S P = def (S P , S 0

P

, −→ P ) Teil 3: Abstraktes Transitionssystem

M¨ogliche Werte f¨ ur x:

x ∈ {even, odd}

Zustandsraum:

S a = def ( P (P × {even, odd}), ⊆) Zustands¨ ubergangsrelation −→ a :

E 0 , E 1 , E 2 , E 3 ⊆ {even, odd}

{p 0 } × E 0 ∪ {p 1 } × E 1 ∪ {p 2 } × E 2 ∪ {p 3 } × E 3

−→ a

{p 1 } × {even | even ∈ E 0 }∪

{p 2 } × {odd | odd ∈ E 0 }∪

{p 0 } × {even, odd | E 1 6= ∅}∪

{p 3 } × {even | E 2 6= ∅}∪

{p 3 } × {e | e ∈ E 3 }

M¨ogliche Menge der Startzust¨ande:

S 0

a

= def {{p 0 } × {even, odd}}

Das abstrakte Transitionssystem:

T S a = def (S a , S 0

a

, −→ a )

2

(3)

Statische Analyse durch abstrakte Interpretation, WS 2007/08

Teil 4: Galois Zusammenhang Abstraktion:

{(q 1 , x 1 ), . . . , (q n , x n )} = def

(q 1 , if isEven(x 1 ) then even else odd), . . . ,

(q n , if isEven(x n ) then even else odd)

Konkretisierung:

{(q 1 , e 1 ), . . . , (q n , e 2 )} = def {(q i , 2 ∗ m)|i ∈ 1, . . . , n ∧ m ∈ Z ∧ e i = even}∪

{(q i , 2 ∗ m + 1)|i ∈ 1, . . . , n ∧ m ∈ Z ∧ e i = odd}

Galois Zusammenhang Eigenschaft:

∀Z P ∈ S P , Z a ∈ S a : Z P ⊆ Z a ⇔ Z P ⊆ Z a

• Informeller Beweis ⇒:

Betrachte jedes (q i , x i ) separat. Ist x i gerade, so entsteht unter ⊲ ein (q i , even).

Daraus entsteht unter ⊳ eine Menge

{. . . , (q i , −2), (q i , 0), (q i , 2), . . .}

Da x i gerade war, ist (q i , x i ) enthalten. Analog f¨ ur jedes (q i , x i ) mit ungeradem x i . Also gilt:

∀Z P ∈ S P : Z P ⊆ Z P ⊲⊳

Da ⊳ offensichtlich monoton ist, folgt damit aus der Voraussetzung:

Z P ⊆ Z a ⇔ Z P ⊲⊳ ⊆ Z a ⇔ Z P ⊆ Z a

• Informeller Beweis ⇐:

Betrachte jedes (q i , e i ) separat. Ist e i = even, so entsteht daraus unter ⊳ eine Menge

{. . . , (q i , −2), (q i , 0), (q i , 2), . . .}

Jedes Element dieser Menge erzeugt unter ⊲ ein (q i , even). Diese sind in (q i , e i ) f¨ ur e i = even enthalten. Analog f¨ ur e i = odd. Also gilt:

∀Z a ∈ S a : Z a ⊳⊲ ⊆ Z a

Da ⊲ offensichtlich monoton ist, folgt damit aus der Voraussetzung:

Z P ⊆ Z a ⇔ Z P ⊆ Z a ⊳⊲ ⇔ Z P ⊆ Z a

3

(4)

Statische Analyse durch abstrakte Interpretation, WS 2007/08

Teil 5: Zul¨ assigkeit der Abstraktion Unter anderem zu zeigen:

∀(Z P , Z P ) ∈−→ P : ∃Z a ∈ S a : Z P −→ a Z a ∧ Z P ⊆ Z a

Z P :

Z P =

3

[

i =0

{p i } × {x 1 i , . . . , x n i

i

} Z P :

Z P = S 3

i =0 {p i } × {even | ∃j ∈ 1, . . . , n i : isEven(x j i )}∪

S 3

i =0 {p i } × {odd | ∃j ∈ 1, . . . , n i : ¬isEven(x j i )}

Z a :

Z a = {(p 1 , even) | ∃j ∈ 1, . . . , n 0 : isEven(x j 0 )}∪

{(p 2 , odd) | ∃j ∈ 1, . . . , n 0 : ¬isEven(x j 0 )}∪

{(p 0 , even), (p 0 , odd) | n 1 > 0}∪

{(p 3 , even) | n 2 > 0}∪

{(p 3 , even) | ∃j ∈ 1, . . . , n 3 : isEven(x j 3 )}∪

{(p 3 , odd) | ∃j ∈ 1, . . . , n 3 : ¬isEven(x j 3 )}

Z a :

Z a = {(p 1 , 2 ∗ m) | m ∈ Z ∧ ∃j ∈ 1, . . . , n 0 : isEven(x j 0 )}∪

{(p 2 , 2 ∗ m + 1) | m ∈ Z ∧ ∃j ∈ 1, . . . , n 0 : ¬isEven(x j 0 )}∪

{(p 0 , m) | m ∈ Z ∧ n 1 > 0}∪

{(p 3 , 2 ∗ m | m ∈ Z ∧ n 2 > 0}∪

{(p 3 , 2 ∗ m | m ∈ Z ∧ ∃j ∈ 1, . . . , n 3 : isEven(x j 3 )}∪

{(p 3 , 2 ∗ m + 1 | m ∈ Z ∧ ∃j ∈ 1, . . . , n 3 : ¬isEven(x j 3 )}

Z P :

Z P = {p 1 } × {x i 0 | i ∈ 1, . . . , n 0 ∧ isEven(x i 0 )}∪

{p 2 } × {x i 0 | i ∈ 1, . . . , n 0 ∧ ¬isEven(x i 0 )}∪

{p 0 } × {x i 1 div 2 | i ∈ 1, . . . , n 1 }∪

{p 3 } × {4 ∗ x i 2 | i ∈ 1, . . . , n 2 }∪

{p 3 } × {x i 3 | i ∈ 1, . . . , n 3 } Es gilt:

Z P −→ a Z a ∧ Z P ⊆ Z a Somit nach Galois Zusammenhang:

Z P −→ a Z a ∧ Z P ⊆ Z a

4

Referenzen

ÄHNLICHE DOKUMENTE

 muss 1-2 Seiten Projektbericht schreiben und von Projektleiter abzeichnen lassen.

 wird ausgesprochen, wenn Betroffener nicht anwesend ist oder wenn keine Einigung möglich.  darf einseitig

© Elisabeth Kampitsch Diese schönen Luftballons darfst du alle ausmalen – aber nicht irgendwie, sondern in ganz bestimmten Farben!. Rechne zuerst die Aufgaben und verwende als

Wiederherstellung des LRT 6410 - Pfeifengraswiesen Wiederherstellung des LRT 6510 - Magere Flachland- Mähwiesen. 3150 Natürliche

(Aufgrund der Vielzahl von Fundstellen, werden nur die Baue dargestellt.). Grünes Besenmoos

Befristete dreischürige Mahd, ohne Düngung (Wiederherstellungsflächen) S..

(1) Die fachspezifische Anlage enthält die Regelungen für ein ordnungsgemäßes Studium im Fach Erziehungswissenschaft im Sinne der Prüfungsordnung für den Bachelorstudiengang

Von Auge sind die Adulten als gelbe oder rote Punkte zu er- kennen, die von weisslichen Häutchen und Eiern umgeben sind (R. Total, ACW).. Mehlige Kohlblattlaus ist auf