1 Reverse Engineering WS 07 / 08 A. Zündorf. Fachgebiet Software Engineering Übersicht © 22.01.2014 Albert Zündorf, Kassel University 2 Organisatorisches.

Slides:



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

der Universität Oldenburg
Vortrag über die Studienarbeit
Internetzugriff mit Strings und Streams
Java: Objektorientierte Programmierung
Werkzeuge und Softwareumgebung von Christian Michele.
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 1 4. Methodenentwurf Gliederung: 1. Einführung 2. Objektdiagramme zur Analyse von.
Programmiermethodik SS 07 Prof. Albert Zündorf
Programmiermethodik SS2009 © 2009 Albert Zündorf, University of Kassel 1 Gliederung 1. Einführung 2. Objektdiagramme zur Analyse von Beispielen 3. Methodenentwurf.
3. Klassendiagramme in Java implementieren
Projekt Web Engineering
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 1 5. Test-First Prinzip Gliederung: 1. Einführung 2. Objektdiagramme zur Analyse.
Programmiermethodik SS 09 Prof. Albert Zündorf Fachgebiet für Software Engineering Wilhelmshöher Allee Kassel (Raum 1339 im Altbau)
3. Analyse Gliederung: Einführung Anforderungsdefinition
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 1 6. Story Driven Modeling Gliederung: 1. Einführung 2. Objektdiagramme zur Analyse.
Software Engineering Seminar Metamodellierung
4. Design Gliederung: Einführung Anforderungsdefinition Analyse Design
Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University Software Engineering I m Vorlesung im Wintersemester 2008/09 m.
Reservierungs Datenbank
Programmiermethodik SS2006 © 2005 Albert Zündorf, University of Kassel 1 6. Tipps, Tricks, Idiome Gliederung: 1. Einführung 2. Anforderungsdefinition 3.
Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University Projektplan: m : Anforderungsanalyse Dokument m :
Projektplan: Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University.
Tätigkeiten bei der Softwareentwicklung
Programmiermethodik SS2006 © 2005 Albert Zündorf, University of Kassel 1 4. Design Gliederung: 1. Einführung 2. Anforderungsdefinition 3. Analyse 4. Design.
Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University Compilerbau und Reverse Engineering m Vorlesung im Wintersemester.
Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University Software Engineering I m Vorlesung im Wintersemester 2007/08 m.
Reverse Engineering K2 1 Ziele Heute Nachlese Volltextsuche Dokumentation in Quelltext einbetten JavaDoc Vorbereitung für Compileransatz.
Projektplan: Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University.
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 1 5. Test-First Prinzip Gliederung: 1. Einführung 2. Objektdiagramme zur 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.
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.
Reverse Engineering 1 Reverse Engineering WS 04 / 05 A. Zündorf.
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.
Programmiermethodik SS2006 © 2005 Albert Zündorf, University of Kassel 1 4. Design Gliederung: 1. Einführung 2. Anforderungsdefinition 3. Analyse 4. Design.
A. Zündorf, SE Group Reverse Engineering K2 1 Ziele Heute Compilerbau Nachlese Ausnutzung von Laufzeittypinformation.
Wasserfallmodel Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University.
Teamorganisation: Versionsverwaltung
Projektplan: Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University.
Projektplan: Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University.
Software Engineering I
Model Driven Engineering SS 10 Prof. Albert Zündorf Fachgebiet für Software Engineering Wilhelmshöher Allee Kassel (Raum 1339)
Model Driven Engineering SS 10 Prof. Albert Zündorf Fachgebiet für Software Engineering Wilhelmshöher Allee Kassel (Raum 1339)
Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University Test Summary: m ein Fehler pro Tag m Test First m Funktionstests.
Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University Software Engineering I m Vorlesung im Wintersemester 2010/11 m.
Programmiermethodik SS2009 © 2009 Albert Zündorf, University of Kassel 1 Gliederung 1. Einführung 2. Objektdiagramme zur Analyse von Beispielen 3. Methodenentwurf.
Model Driven Engineering SS 10 Prof. Albert Zündorf Fachgebiet für Software Engineering Wilhelmshöher Allee Kassel (Raum 1339)
Programmiermethodik SS 10 Prof. Albert Zündorf
Model Driven Engineering SS 10 Prof. Albert Zündorf Fachgebiet für Software Engineering Wilhelmshöher Allee Kassel (Raum 1339)
DVG Einführung in Java1 Einführung in JAVA.
Zeitplanerstellung ACHTUNG:
Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University Software Engineering I m Vorlesung im Sommersemester 2012 m Prof.
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 1 5. Test-First Prinzip Gliederung: 1. Einführung 2. Objektdiagramme zur Analyse.
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 1 5. Test-First Prinzip Gliederung: 1. Einführung 2. Objektdiagramme zur Analyse.
Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University Client Architecture Data Model GUI KI Socket Connection.
Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University Test Summary: m ein Fehler pro Tag m Test First m Funktionstests.
Model Driven Engineering SS 10 Prof. Albert Zündorf Fachgebiet für Software Engineering Wilhelmshöher Allee Kassel (Raum 1339)
University of Applied Sciences Übung Objektorientierte Programmierung II Dipl.-Inf. (FH) Markus Vogler.
Java und Eclipse.
Informatik Objekte und Klassen 1. Objektorientiertes Modellieren und Programmieren 1.1 Objekte und Klassen.
Programmiervorkurs WS 2014/15 Methoden
Generative Softwareentwicklung in der Praxis Olaf Kaus, „Java User Group“, Hannover 6.Oktober 2003.
Robuste Programme durch Ausnahmebehandlung
Web und Mobile Apps Programmieren Marco Jakob Kurzvortrag OSS an Schulen
Test Summary: ein Fehler pro Tag Test First
 Präsentation transkript:

1 Reverse Engineering WS 07 / 08 A. Zündorf

Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University 2 Organisatorisches Termine: m 2 SWS Informatik Bachelor, m Termin: Dienstag 14: :00 (Beginn ) Raum: CIP Pool unter der Mensa m 15 Minuten Vorlesung, 75+ Minuten Übung am Rechner m Prüfung: l Benotete Testate am Ende der Übung (bis 1 Note Verbesserung der Klausurnote) l Normale Klausur

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

Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University 4 Motivation Aufgaben: m Wiedergewinnung von Design (Klassendiagramme,...) m Finden von Funktionalität m Finden von Fehlerursachen m...

Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University 5 Inhalt 1. Volltextsuchtechniken (grep, google, find,...) 2. Compiler basierte Techniken (Cross-Referencing,...) 3. Dynamische Analysen 1. Code Instrumentierung / Tracing 2. Debugger Techniken 4. Analyse der Versionshistorie 5. JavaDoc 6. Datenanalyse 7. Auswertung und Visualisierung (Clustering,...)

Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University 6 1. Volltextsuche Low-Tech Ansätze: m Compiler-Ansätze versagen oft: l unterschiedliche (alte) Sprachversionen l Mix aus vielen Sprachen l zusätzliche Textdateien Sprachunabhängige Mechanismen l Suchen mit regulären Ausdrücken l Diff l...

Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University 7 Suchen mit regulären Ausdrücken Suchen in einer Datei/ im Texteditor: grep – nH 'System.out.println' FujabaApp.java

Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University 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"

Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University 9 Suchen in IDEs (Eclipse) Edit -> Find (Ctrl-F) suchen in aktueller Datei

Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University 10 Suchen in IDEs (Eclipse) suchen in allen Dateien des Projekts

Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University 11 Aufgaben zur Volltextsuche: 1. Studentpackage1 runterladen von: 2. In Eigene Dateien/Fujaba5 entpacken (Unterverzeichnis anlegen) 3. Eclipse starten 1. ??? 2. Welcome schließen 3. File -> New -> Project: Java Project 4. Project name: Fujaba 5. Create Project at external location Browse

Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University 12 4.Suchen: 1. TODO 2. Edit class dialog 3. File Save As Implementierung 4. Unterklassen von UMLDiagram 5. Fehlermeldung: 1. Unnamed class diagram 2. log4j: ERROR setFile(null,true) call failed. 3. CFG-parse error during code generation for NewClass::m1 -> Abnormal termination in control flow 4. 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

Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University 13 Reguläre Suchausdrücke in Eclipse Normaler Text: Hallo Wort Wort: This.* to