Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Hulderich Hemmen Geändert vor über 10 Jahren
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
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.