• Keine Ergebnisse gefunden

9.1 Ungleichheiten 10 Punkte

N/A
N/A
Protected

Academic year: 2022

Aktie "9.1 Ungleichheiten 10 Punkte"

Copied!
1
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

17:36:42 28. Juni 2016 Serge Autexier

Christoph Lüth Korrekte Software: Grundlagen und Methoden SoSe 2016

9. Übungsblatt

Ausgabe: 27.06.16 Abgabe: 07.07.16

In diesem letzten, praktischen Aufgabenblatt wollen wir die im letzten Aufgabenblatt theoretisch betrachtete Modellierung von Zeigern in unserem Werkzeug implementieren. Dazu müssen wir die semantische Model- lierung so erweitern, dass sie Lokationen und dieRead/Update-Operationen modellieren.

9.1 Ungleichheiten 10 Punkte

Das Rahmenwerk stellt eine FunktionstateSimpbereit, welche die Zustandsvereinfachungsregeln implemen- tiert:

read(upd(σ,l,v),l) =v (1)

l6=m−→read(upd(σ,l,v),m) =read(σ,m) (2) upd(upd(σ,l,v),l,w) =upd(σ,l,w) (3) l6=m−→upd(upd(σ,l,v),m,w) =upd(upd(σ,m,w),l,v) (4) Für die Regeln (3) und (4) muss dieUngleichheitzweier Ausdrücke, welche Lokationen denotieren, bewiesen werden. Dazu gelten folgende Regeln:

• Zwei durch ungleiche Variablen denotierte Lokationen sind immer ungleich;

• Zwei Lokationen unterschiedlichen Typs sind immer ungleich;

• Jede Lokation ist zu ihrer eigenen Adresse ungleich (folgt aus dem vorherigen);

• Wenn i und j zwei Feldnamen (einer Struktur) sind, dann sind die Selektionene. i undf . j immer un- gleich (split heap property);

Implementieren Sie diese Regeln in der FunktionproveInequality(t1: Term, t2: Term): Boolean.

Passen Sie jetzt Ihre FunktionweakestPreconditionso an, dass sie mit der neuen Zustandsmodellierung arbeitet.

9.2 Stärkste Vorbedingungen 10 Punkte

Implementieren Sie zwei Funktionenaspundsvc, welche die approximative stärkste Nachbedingung und dazu gehörenden Verifikationsbedingungen berechnen.

1

Referenzen

ÄHNLICHE DOKUMENTE

Erh¨ ohen Sie den Flusswert auf Basis dieses

Ist die Restkapazit¨ at dagegen ≤ w j , so w¨ urde die Gefahr bestehen, dass die Ruck- sackkapazit¨ at ¨ uberschritten wird, wenn wir uns daf¨ ur entscheiden, den

3. Die verschiedenen Implementierungen sollen einer Performance-Untersuchung unterzogen werden. Messen Sie dazu die CPU-Zeiten für verschiedene Anwendungsfälle für die gegebene

Was passiert bei sehr kleinen Schrittweiten und warum ist dies unabh¨ angig vom verwendeten Verfahren.

Zeige, daß diese Schranke scharf ist (Gib eine Familie von Termen an, die Ableitungen besitzen, deren L¨ angen nicht zu weit von der Schranke entfernt sind.).

S10-1 Erg¨ anzen Sie geoprover.maxima um eine Funktion angle sum(v, w), die ein geome- trisches Objekt vom Typ Angle zur¨ uckgibt, welches der Winkelsumme von v und w

In der ersten Aufgabe soll für ein vorgegebenes Szenario ein Datenmodell entwickelt werden, mit dem die im Szenario beschriebenen Anforderungen realisiert werden können.. Beachten

Sollte eines der nicht unterstützten Features benötigen werden, kann dies mit einer kleinen Notiz oder frei von Hand direkt im Diagramm annotiert werden. • Ein Ausdruck