• Keine Ergebnisse gefunden

Programmanalyse zum Durchklicken

N/A
N/A
Protected

Academic year: 2022

Aktie "Programmanalyse zum Durchklicken"

Copied!
8
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Programmanalyse zum Durchklicken

int optimizeMe() { int x = 1;

while (random() < 0.5) { x = 2 - x;

}

return x;

}

=⇒

int optimizeMe() {

return 1;

}

p∈preds[S]

REACHout[S] = GEN[S]∪(REACHin– KILL[S]) GEN[d : y←f(x1,· · ·, xn)] ={d}

KILL[d : y←f(x1,· · · , xn)] = DEFS[y] –{d}

(2)

Programmanalyse zum Durchklicken

int optimizeMe() { int x = 1;

while (random() < 0.5) { x = 2 - x;

}

return x;

}

=⇒

int optimizeMe() {

return 1;

}

REACHin[S] = [

p∈preds[S]

REACHout[p]

REACHout[S] = GEN[S]∪(REACHin– KILL[S]) GEN[d : y←f(x1,· · ·, xn)] ={d}

KILL[d : y←f(x1,· · · , xn)] = DEFS[y] –{d}

(3)
(4)

Programmanalyse zum Durchklicken

(5)
(6)

Programmanalyse zum Durchklicken

(7)

Programmanalyse zum Durchklicken

Grober Umriss:

I Interesse an Compilern, Optimierungen

I Java empfohlen, aber kein Zwang

I Empfehlungen f¨ur Bibliotheken, aber kein Zwang

(8)

Programmanalyse zum Durchklicken

Grober Umriss:

I Interesse an Compilern, Optimierungen (Keine Angst, wir erkl¨aren’s euch)

I Java empfohlen, aber kein Zwang

I Empfehlungen f¨ur Bibliotheken, aber kein Zwang

Referenzen

ÄHNLICHE DOKUMENTE

 Überschreiben von Methoden: Ersetzung der Implementierung einer Methode einer Oberklasse durch eine neue. Implementierung; die Methoden müssen identische Signaturen

 Klassenbibliothek: Sammlung von nützlichen, häufig gebrauchten Klassen, die (anderen) Programmierern zur Verfügung gestellt werden..  Java-Packages: Hilfsmittel zur

 In einer Datei können mehrere Klassen definiert werden, aber nur eine darf eine public-Klasse sein. Der Name der Datei muss in diesem Fall gleich dem Namen der

Dietrich Boles.

– beim Aufruf einer Instanz-Methode über eine Objektvariable wird diejenige Methode ausgeführt, die der Klasse des referenzierten Objektes zugeordnet ist ( überschriebene

 Die Instantiierung abstrakter Klassen ist nicht möglich; es lassen sich wohl aber Objektvariablen definieren, womit. Polymorphie/dynamisches Binden ausgenutzt

wird während der Ausführung der Funktion f ein Fehlerobjekt vom Typ Ex3 geworfen, dann wird zunächst (*8) ausgeführt und danach die Funktion h unmittelbar verlassen und

T kann im weiteren Klassenkopf und im Klassenrumpf (fast) überall da verwendet werden, wo Klassennamen stehen können..  Problem: beerTransfuser kann nur