Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Reverse Engineering 1 Reverse Engineering WS 04 / 05 A. Zündorf.

Ähnliche Präsentationen


Präsentation zum Thema: "Reverse Engineering 1 Reverse Engineering WS 04 / 05 A. Zündorf."—  Präsentation transkript:

1 Reverse Engineering 1 Reverse Engineering WS 04 / 05 A. Zündorf

2 Reverse Engineering 2 Organisatorisches Termine: Montags 14:00 -... (Beginn 25.10.2004) Raum: CIP Pool unter der Mensa 15 Minuten Vorlesung, 75+ Minuten Übung am Rechner Klausur: Computerklausur am ?

3 Reverse Engineering 3 Motivation Neuentwicklung von Software ist die Ausnahme => Weiterentwicklung von Legacy-Systemen Designdokumentation veraltet Aufgabenstellung: Ah prima, dass sie da sind, wir wollen für unser System (2 Millionen LOC) XML Support, bauen sie das doch mal ein

4 Reverse Engineering 4 Motivation Aufgaben: Wiedergewinnung von Design (Klassendiagramme,...) Finden von Funktionalität Finden von Fehlerursachen...

5 Reverse Engineering 5 Inhalt 1.Volltextsuchtechniken (grep,...) 2.Compiler basierte Techniken (Cross-Referencing,...) 3.Dynamische Analysen 1.Code Instrumentierung / Tracing 2.Debugger Techniken 4.Analyse der Versionshistorie 5.JavaDoc und Google 6.Datenanalyse 7.Auswertung und Visualisierung (Clustering,...)

6 Reverse Engineering 6 1. Volltextsuche Low-Tech Ansätze: Compiler-Ansätze versagen oft: –unterschiedliche (alte) Sprachversionen –Mix aus vielen Sprachen –zusätzliche Textdateien Sprachunabhängige Mechanismen –Suchen mit regulären Ausdrücken –Diff –...

7 Reverse Engineering 7 Suchen mit regulären Ausdrücken Suchen in einer Datei/ im Texteditor: grep –nH 'System.out.println' FujabaApp.java

8 Reverse Engineering 8 Suchen mit regulären Ausdrücken Suchen in vielen Dateien: grep –nH 'Welcome' *.java Suchen in Dateibäumen: find –name "*. java" | xargs grep –nHi "welcome"

9 Reverse Engineering 9 Suchen in IDEs (Eclipse) Edit -> Find (Ctrl-F) suchen in aktueller Datei

10 Reverse Engineering 10 Suchen in IDEs (Eclipse) suchen in allen Dateien des Projekts

11 Reverse Engineering 11 Aufgaben zur Volltextsuche: 1.Studentpackage1 runterladen von: http://www.se.eecs.uni-kassel.de/se/index.php?re0405 http://www.se.eecs.uni-kassel.de/se/index.php?re0405 2.In Eigene Dateien entpacken 3.Eclipse starten 1.Doppelclick auf Eclipse.exe 2.Welcome schließen 3.File -> New -> Project: Java Project 4.Project name: Fujaba 5.o Create Project at external location Browse (Fujaba Tool suite) 6.Compilieren lassen 7.Window -> Preferences: Java -> Compiler: Tab Advanced: Usage of deprecated API: Ignore 8.Alles sollte fehlerfrei durchcompilieren

12 Reverse Engineering 12 Reguläre Suchausdrücke in Eclipse Normaler Text: Hallo Wort...... Wort: This.* to

13 Reverse Engineering 13 Aufgaben zur Volltextsuche: 4.Suchen: 1. TODO 2.Edit class dialog 3.File Save As Implementierung 4.Unterklassen von UMLDiagram 5.Fehlermeldung: Unnamed class diagram log4j: ERROR setFile(null,true) call failed. CFG-parse error during code generation for NewClass::m1 -> Abnormal termination in control flow java.lang.RuntimeException: Transition guards null and null are incompatible 6.Alle anwendenden Vorkommen von getName() der Klasse UMLClass 7.Wo wird "public" Flag für Klassen in der Codegenerierung erzeugt


Herunterladen ppt "Reverse Engineering 1 Reverse Engineering WS 04 / 05 A. Zündorf."

Ähnliche Präsentationen


Google-Anzeigen