• Keine Ergebnisse gefunden

Aufgabe 10.2 (Programmverifikation) Führen Sie eine Programmanalyse für das folgende Programm durch: 1: [y1

N/A
N/A
Protected

Academic year: 2021

Aktie "Aufgabe 10.2 (Programmverifikation) Führen Sie eine Programmanalyse für das folgende Programm durch: 1: [y1"

Copied!
2
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

SS 2016 21.06.2016 Übungen zur Vorlesung

Formale Grundlagen der Programmierung Blatt 10

Prof. Dr. Roland Meyer

Florian Furbach Präsenzaufgaben

Aufgabe 10.1 (Distributivität)

Sei(D,≤)ein vollständiger Verband, der die aufsteigende Kettenbedingung (ACC) erfüllt.

Zeigen Sie: Istf distributiv, so gilt für alle Y ⊆D, Y 6=∅:f(F

Y) =F{f(y)|y∈Y}.

Aufgabe 10.2 (Programmverifikation)

Führen Sie eine Programmanalyse für das folgende Programm durch:

1: [y1 := 1]1

2: while[y2>0]2 do

3: [y3:= 2]3

a) Berechnen Sie für jeden Block des Programms die Menge an Variablen, die bis zum Erreichen des jeweiligen Blocks geschrieben wurden. Führen Sie diese Berechnung bis zum Fixpunkt durch.

b) Welche abstrakte Domäne benutzen Sie? Gibt es mit Sicherheit einen Fixpunkt?

(2)

Aufgabe 10.3 („Reachable Values“-Analyse) Betrachten Sie das folgende Boolesche Programm.

1: [x:= true]1

2: [y := true]2

3: while[x]3 do

4: [y:=¬x]4

5: if [¬y]5 then

6: [x:=¬x]6

7: [x:=¬y]7

Untersuchen Sie für jeden Block, welche Belegungen die Variablen am Eingang an- nehmen können. Benutzen Sie dazu das Datenflusssystem S = (G,(D,⊆), i, f), mit D=P(falsex,truex,falsey,truey) undi={falsex,falsey} ∈D, und gehen Sie wie folgt vor:

a) Zeichnen Sie den Kontrollflussgraphen G.

b) Geben Sie die Familie der Funktionen f ={fi :D→ D|1≤i≤7} an, wobei fi

den Effekt des Blocks mit Labeli im Abstrakten imitiert.

c) Geben Sie das durch S induziert Gleichungssystem an.

d) Geben Sie ein Lösung für obiges Gleichungssystem an.

e) Weisen Sie nach, dass Ihre Lösung korrekt ist.

Präsenzaufgaben - Keine schriftliche Abgabe

Referenzen

ÄHNLICHE DOKUMENTE

Management von Realität Balance von Planung und Aktion Entscheidung (un-)durchführbar.. Was

Digitales Arbeiten, neue Arbeitsformen und auch jede Veränderung und jegliches Lernen sind nur auf der Grundlage einer angstfreien und vertrauensvollen Umgebung möglich?. Statt

Was bedeutet Digitalisierung für unsere Leistungen, unseren Kontakt mit den Bürgerinnen und Bürgern, unsere internen Prozesse und unsere Zusammenarbeit.. • Kollegiale Fallberatung

Durch ein bewusstes Führen von Mitarbeitenden mit gesundheitsfördernden Stilen und Methoden schafft man den Nährboden für ein produktives Miteinander und damit eine

ƒ Virtuelle versus traditionelle Teams 143. ƒ Ohne geht es nicht: Vertrauen

Das Prozessmodell lässt sich aber überall anwenden, wo Menschen sich um gemeinsames Handeln bemühen9. Wohin fahren wir in

Darüber hinaus aber muss man eine klare Vorstellung davon entwickeln, wel- che Aufgaben man delegieren kann und wie man sie kontrol- lieren muss, damit die Qualität nicht leidet..

3.3 Werkzeuge für Arbeit und