Überblick

11/21/00


Zum Starten hier klicken


Inhaltsverzeichnis

PPT-Folie

Überblick

Einordnung des Vortrags

Gliederung

Überblick

Ziele der Programmanalyse

Entfernen von Überflüssigen Zuweisungen

Herausziehen von Schleifeninvariantem Code

Benutzung von Uninitialisierten Variablen

Dereferenzierung von NULL Pointern

Andere Beispiele für Programmanalysen

Statische PA <-> Dynamische PA

Überblick

Beispiel

PPT-Folie

Elementweise Addition zweier Matrizen

Program converted to C-like Arrays

Analysis: Available Expressions

Common Subexpressions Eliminated

Analysis: Loop Invariant Computation

Invariant Code Motion

Analysis: Induction Variable Reaching Definitions

Strength Reduction

Copy Analysis

Copy Propagation

Analysis: Dead Variable

Elimination of Useless Assignment

Entfernen redundanter Berechnung

Entfernen redundanter Berechnung

Herausziehen von Schleifeninvariantem Code

Strength Reduction

Strength Reduction

Entfernen von Redundanten Variablen

Entfernen von Überflüssigen Zuweisungen

Überblick

Das Halteproblem und seine Folgen...

The nature of approximation

The nature of approximation

Überblick

Datenflußanalyse

Überblick

Kontrollflußgraph

Example

Überblick

Reaching Definitions

Reaching Definitions

Reaching Definitions

Reaching Definitions

Reaching Definitions

Reaching Definitions

Reaching Definitions

Reaching Definitions

Reaching Definitions

Reaching Definitions

Reaching Definitions

Reaching Definitions

Reaching Definitions

Reaching Definitions

Reaching Definitions

Überblick

Berechnung der Datenflußinformation

PPT-Folie

PPT-Folie

PPT-Folie

PPT-Folie

PPT-Folie

PPT-Folie

PPT-Folie

PPT-Folie

PPT-Folie

PPT-Folie

Reaching Definitions

Überblick

Lattice theory

Lattice theory

Lattice theory

Lattice theory

Lattice theory

Überblick

Datenflußanalyse

Datenflußanalyse

Überblick

Reaching Definitions (RD)

Available Expressions (AE)

Very Busy Expressions (VB)

Live Variable Analysis (LV)

Klassische Analysen

Überblick

Was ist PAG

Implementation Problems without PAG

Overview

PAG offers

Advantages of using PAG

Generated Analyzers

PAG Users

Überblick

PPT-Folie

PPT-Folie

PPT-Folie

PAG Web Frontend

PAG/WWW Reaching Definitions

PPT-Folie

Überblick

Konstantenpropagation (CP)

Flat

Konstantenpropagation

PPT-Folie

PPT-Folie

Überblick

Interpreting textual Analysis Results

Konstantenpropagation

PPT-Folie

Interpreting graphical Analysis Results

Überblick

While Language

While Statements

Editing While Programs/Specifications

WHILE

Überblick

Specifying Analyses

Parts of Specification

Überblick

Predefined Datatypes

Lattice Construction

Predefined Sets

Example: Live Variables

Überblick

Excursion: Solution Algorithm

Lift

Problem Section

Example: Live Variables

FULA Basics

FULA Control Structures

TRANSFER Section

Example: Live Variables

Example: Live Variables

Example: Live Variables

Example: Live Variables

FULA Operators

SUPPORT Section

Example: Live Variables

Überblick

Faint Variables

Changing the extremal Value

Faint Variables: Solution

PAG/WWW

Überblick

Aufgabe 1

Hinweise: Aufgabe 1

Aufgabe 2

Hinweise: Aufgabe 2

Aufgabe 3

Hinweise: Aufgabe 3

Überblick

Zusammenfassung

Autor:Florian Martin

E-Mail: martin@cs.uni-sb.de