Reverse Engineering K2 1 Ziele Heute Nachlese Volltextsuche Dokumentation in Quelltext einbetten JavaDoc Vorbereitung für Compileransatz.

Slides:



Advertisements
Ähnliche Präsentationen
der Universität Oldenburg
Advertisements

der Universität Oldenburg
der Universität Oldenburg
DVG Dateien Dateien. DVG Dateien 2 Die Klasse File Die Klasse File stellt die Verbindung zwischen dem Filesystem des Rechners und dem.
Einführung in die Programmierung Ausführbare Klassen
Kapselung , toString , equals , Java API
Vortrag über die Studienarbeit
Suche in Texten (Stringsuche )
Objektorientierte Programmierung Definition von Klassen
10 Streams JavaHS Merseburg WS 05/06 E/A - Ströme (Streams) in Java.
Ausnahmen HS Merseburg (FH) WS 06/07.
Java: Objektorientierte Programmierung
Java: Dynamische Datentypen
Indirekte Adressierung
FH-Hof Verwaltung von Zeichenketten Richard Göbel.
Java: Referenzen und Zeichenketten
Java: Grundlagen der Objektorientierung
Verzweigung oder bedingte Anweisung Weiter mit PP.
IF-ELSE-IF-Ketten Weiter mit PP..
Benötigte Applets Startseite: in HTML-Format Applet auf der Startseite Das Applet, das auf der Startseite geladen wird, wird die vier Buttons und die eine.
Praktikum Entwicklung und Einsatz von Geosoftware I - Sitzung 5 Polymorphismus Sommersemester 2003 Lars Bernard.
Praktikum Entwicklung und Einsatz von Geosoftware I - Sitzung 7 User Interfaces in Java Sommersemester 2003 Lars Bernard.
PKJ 2005/1 Stefan Dissmann Klassenhierarchie Person Kunde Goldkunde Lieferant Object.
Listen Prof. Dr. Christian Böhm in Zusammenarbeit mit Gefei Zhang
1 Reverse Engineering WS 07 / 08 A. Zündorf. Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University 2 Organisatorisches.
A. Zündorf, SE Group Reverse Engineering K2 1 Übersicht 1.Quelltextanalyse mit regulären Ausdrücken 2.Compilertechniken 3.Prozessanalyse 4.Dynamische Analyse.
Reverse Engineering Neuentwicklung von Software ist die Ausnahme => Weiterentwicklung von Legacy-Systemen Designdokumentation veraltet Aufgabenstellung:
A. Zündorf, SE Group Reverse Engineering K2 1 Reverse Engineering: Ziele Heute Compileransatz, die Zweite Findet UMLClass getName() Vorkommen Completion.
A. Zündorf, SE Group Reverse Engineering K2 1 Übersicht 1.Quelltextanalyse mit regulären Ausdrücken 2.Compilertechniken 3.Prozessanalyse 4.Dynamische Analyse.
A. Zündorf, SE Group Reverse Engineering K2 1 Übersicht 1.Quelltextanalyse mit regulären Ausdrücken 2.Compilertechniken 3.Prozessanalyse 4.Dynamische Analyse.
A. Zündorf, SE Group Reverse Engineering K2 1 Ziele Heute Compilerbau Nachlese Ausnutzung von Laufzeittypinformation.
A. Zündorf, SE Group Reverse Engineering K2 1 Übersicht 1.Quelltextanalyse mit regulären Ausdrücken 2.Compilertechniken 3.Prozessanalyse 4.Dynamische Analyse.
A. Zündorf, SE Group Reverse Engineering K2 1 Übersicht 1.Quelltextanalyse mit regulären Ausdrücken 2.Compilertechniken 3.Prozessanalyse 4.Dynamische Analyse.
A. Zündorf, SE Group Reverse Engineering K2 1 Übersicht 1.Quelltextanalyse mit regulären Ausdrücken 2.Compilertechniken 3.Prozessanalyse 4.Dynamische Analyse.
A. Zündorf, SE Group Reverse Engineering K2 1 Ziele Heute Compilerbau Nachlese Ausnutzung von Laufzeittypinformation.
Modulare Programmierung
DVG Dateien. DVG Die Klasse File Die Klasse File stellt die Verbindung zwischen dem File-System des Rechners und dem JAVA-Programm her.
DVG Kommentare1 Kommentare. DVG Kommentare 2 Kommentare Es gibt zwei Arten von Kommentaren: einzeilige Kommentare // der Kommentar geht.
DVG Interfaces. DVG mehrfache Vererbung 4 Mehrfache Vererbung ist die Ableitung einer Klassen von mehreren anderen Klassen. –farbigerPunkt.
07-GraphischeObjekte Graphische Objekte in EMMA301Paint.
DVG Klassen und Objekte
12-Drucken Drucken in JAVA. 12-Drucken2 Probleme beim Drucken: Es können nur graphische Informationen gedruckt werden. Die zu druckende Information muss.
DVG Kommentare 1 Kommentare. 2 Kommentare Es gibt zwei Arten von Kommentaren: einzeilige Kommentare // der Kommentar geht bis zum Ende der Zeile.
Java in 9 Folien Besser: Online-Buch Go to Java 2.
Einführung in die Programmierung Datensammlung
© 2005 Pohlig - Taulien Datenströme GK Informatik 1 Datenströme.
Informatikunterricht mit Java
© 2004 Pohlig - Taulien Dokumentation mit JavaDoc.
Template Pattern Richard Göbel.
Seite 1 Interface - Konzept Ein Interface führt einen neuen Datentyp ein: interface Frau {... } Das Interface enthält Deklarationen ( keine Definitionen.
Sommersemester 2004 Jan Drewnak Entwicklung und Einsatz von Geosoftware I Praktikum Sitzung 7 Sitzung 7: User Interfaces in Java.
University of Applied Sciences Übung Objektorientierte Programmierung II Dipl.-Inf. (FH) Markus Vogler.
Abteilung für Telekooperation Übung Softwareentwicklung 1 für Wirtschaftsinformatik Dr. Wieland Schwinger
1.2 Attribute und Methoden Aufbau einer Java-Klasse:
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt
Objektorientiertes Konstruieren
EPROG Tutorium #4 Philipp Effenberger
EPROG Tutorium #6 Philipp Effenberger
EPROG Tutorium #5 Philipp Effenberger
se_10_regulaere_ausdruecke.ppt1 Softwareengineering Reguläre Ausdrücke (regular expressions) Prof. Dr.-Ing. Axel Benz, Berlin School of Economics.
Mag. Thomas Hilpold, Universität Linz, Institut für Wirtschaftsinformatik – Software Engineering 1 Programmierpraktikum Java SS 2005 Mag.Thomas Hilpold.
Alois Schütte Advanced System Programming 2 Interprozeßkommunikation  2.1 JVM Ablaufumgebung  2.2 Java Native Interface (JNI)  Verwendung von.
10 Graphen gerichtete und ungerichtete, mit Marken an Ecken und/oder Kanten Anwendungsgebiete: Verkehrsnetze, Kommunikationsnetze, Netzpläne, Spiele,...
IT2 – WS 2005/20061Nov 14, 2005 Visibility  public: Sichtbar in allen Paketen  protected: Sichtbar innerhalb des Pakets und in den Unterklassen  (default,
G. Gröger - Einführung in die Programmierung mit Java - 1. Semester - WS 03/041 Übungsaufgabe Ergänzt die Klasse Dreieck aus der Hausaufgabe um eine Methode,
Strategy Pattern Teachlet Der nächste Auftrag Autor: Sven Wende Replay durch Stephan Schwake Konzepte objektorientierter Programmiersprachen, SS 2006.
Schnittstellen.
Die Struktur einer Java-Klasse
Programmierung und Vererbung in Java
Grundkurs Informatik mit Java
 Präsentation transkript:

Reverse Engineering K2 1 Ziele Heute Nachlese Volltextsuche Dokumentation in Quelltext einbetten JavaDoc Vorbereitung für Compileransatz

Reverse Engineering K2 2 Aufgaben zur Volltextsuche: 4.Suchen: Alle anwendenden Vorkommen von getName() der Klasse UMLClass Compilertechniken notwendig (nächste Woche) Die war gemein

Reverse Engineering K2 3 Aufgaben zur Volltextsuche: Resumee: Große Dateisysteme können schnell durchsucht werden Man muss "geschickt" suchen: –Textstücke manchmal zusammengesetzt –Manchmal Zeilenumbrüche –False Negatives: einige gesuchte Stellen werden nicht gefunden –False Positives: es werden falsche Treffer angezeigt

Reverse Engineering K2 4 Scripting / Programmierung mit Volltextsuche: Zusammen fassen / weiter verarbeiten / prüfen von matches durch Skripte / Programmierung Vorbereitung für Einsatz von Compilertechniken Aufgabe: Schreibt ein Programm (mit Fujaba oder Eclipse), dass einen Dateibaum durchsucht und alle Java Klassen und deren Superklassen und Interfaces findet und dafür eine objektorientierte Symboltabelle anlegt

Reverse Engineering K2 5 Quelltext eingebettete Dokumentation Erste Teilaufgaben: Directorybaum durchlaufen Javadatei in Stringbuffer einlesen Informiert euch, wie man aus Files liest per JavaDoc –startet z.B. bei java.io.File –falls das nichts hilft, schaut mal bei BufferedReader Informiert euch über Pattern / String.matches

Reverse Engineering K2 6 JavaDoc zu File: /** * Tests whether the file denoted by this abstract pathname is a * directory. * true if and only if the file denoted by this * abstract pathname exists and is a directory; * false otherwise * SecurityException * If a security manager exists and its * java.lang.SecurityManager#checkRead(java.lang.String)} * method denies read access to the file */ public boolean isDirectory() { Embedded Doku erlaubt gewisse Konsistenzprüfungen Doku wird mitgewartet Doku ist aktueller

Reverse Engineering K2 7 Pattern matching die zweite Einfaches Grundpattern: public class (\\w*)\\w* \w ist Buchstabe oder Ziffer Weil in Java String eingebettet \\w \\w viele davon: \\w* \\w* liefere gefundenes Wort: (\\w*)\\w*

Reverse Engineering K2 8 Symboltabelleninformation finder Directory/Projekt vorgegeben implementiert inspect zum Durchlaufen von Dateibäumen implementiert analyseJavaFile für die Suche nach den Teilen einer Klassendeklaration legt für die gefundenen Klassen FoundClass Objekte an. Testen z.B. im Dobs