A. Zündorf, SE Group Reverse Engineering K2 1 Übersicht 1.Quelltextanalyse mit regulären Ausdrücken 2.Compilertechniken 3.Prozessanalyse 4.Dynamische Analyse.

Slides:



Advertisements
Ähnliche Präsentationen
(kleine!) Java Einführung Mittwoch, Heute Ziel: erstes Java-Programm erstellen Von der Aufgabenstellung bis zur Lösung Grundlagen Einfache.
Advertisements

Imperative Programmierung -Entwicklungswerkzeuge
Objektrelationales Mapping mit JPA
es gibt (fast) nichts, was nicht anders gemacht werden könnte
SWITCH - Anweisung.
Klassenvariable. Da man für jede Kuh bzw. jede Henne auf dem Markt den gleichen Preis für ein Liter Milch, bzw. den gleichen Preis für ein Ei bekommt,
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Tobias Lauer.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Prof. Dr. Th. Ottmann.
WS Algorithmentheorie 08 – Dynamische Programmierung (3) Konstruktion optimaler Suchbäume Prof. Dr. Th. Ottmann.
Deklaratives Debugging (Seminar Software Engineering) Tim Sender Deklaratives Debugging Seminar Software Engineering.
Der Testprozess als Bestandteil des SE Prozesses:
PKJ 2005/1 Stefan Dissmann Rückblick auf 2005 Was zuletzt in 2005 vorgestellt wurde: Klassen mit Attributen, Methoden und Konstruktoren Referenzen auf.
Zusammenfassung Vorwoche
Brandenburgische Technische Universität Cottbus Program Profiling Andrzej Filipiak Übung Testen von Software SoSe 2006.
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 6. Story Driven Modeling Gliederung: 1. Einführung 2. Objektdiagramme zur Analyse.
Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University Projektplan: m : Anforderungsanalyse Dokument m :
Projektplan: Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University.
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 Projektplan:
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.
1 Reverse Engineering WS 07 / 08 A. Zündorf. Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University 2 Organisatorisches.
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 1 5. Test-First Prinzip Gliederung: 1. Einführung 2. Objektdiagramme zur 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.
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
Vortrag III Hier in der Vorlesungszeit! Anwesenheitspflicht Jede Gruppe hat 6 Minuten! Stellt eure GUI vor –was ihr besonderes gemacht habt –Spektakuläre.
1 WS 2012 Software-Engineering II Aspektorientierung.
Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University Baustein- vs. Funktionsorientierte Organisation.
Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University Test Summary: m ein Fehler pro Tag m Test First m Funktionstests.
DVG Einführung in Java1 Einführung in JAVA.
Java in 9 Folien Besser: Online-Buch Go to Java 2.
Der VFP Debugger - Coverage und Profiling. © 1999 TMN-Systemberatung GmbH Der VFP Debugger n Neues Aussehen, eigene Task n Erweiterte Möglichkeiten n.
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 Test Summary: m ein Fehler pro Tag m Test First m Funktionstests.
Debugging, Logging, Monitoring, Tools
Statische Analyse Gero Leinemann.
Simple Programmierung
Java und Eclipse.
Einführung. Steuerelemente Hier erstellt man das Fenster, mit dem der Anwender später arbeiten soll: Werte eingibt Buttons klickt Auswahlen trifft.
Optimale Ursprungsgerade
Datenbankanbindung mit
se_10_regulaere_ausdruecke.ppt1 Softwareengineering Reguläre Ausdrücke (regular expressions) Prof. Dr.-Ing. Axel Benz, Berlin School of Economics.
Programmiervorkurs WS 2014/15 Schleifen
Java Syntaxdiagramme Buchstabe A B Z a z ... Ziffer
Team Technical-Designer  Oliver Schmitz (TCD)  Leiter des Technical-Design Teams  Stefan Müller (TAD für Team 1 und 2)  Spezialist für Maya und was.
Omniscient Debugging und Slicing für Java
© 2004 Pohlig Informatik Kurse © 2004 Pohlig Informatik Kurse Der Tramp tanzt die Rekursion zünderUntersuchen(…) Basisfall Rückmeldung:
Programmierungssprache PERL
OOSE nach Jacobson Sebastian Pohl/ST7 Betreuer: Prof. Dr. Kahlbrandt.
Java Server Pages Technologie zur Erzeugung dynamischer Webseiten basierend auf Java-Servlets Blockseminar Wintersemester 2001/2002Jochen Pfeiffer Seite.
C Tutorium – Debugging & Tracing – Knut Stolze. 2 Agenda Debugging & Debugger Tracing.
Datenmatrix HKI Proseminar Philipp Cielen.
Analyse des HTML-Codes. Dieser Code ist für die Breite des Textes.
Einführung in AspectJ ● Inhalt: 1)Überblick 2)Elemente des crosscuttings in AspectJ 3)„Hello World“ in AspectJ 4)Wie Aspekte in Java verwoben werden 5)Join.
Informatik Sommercamp 2012
Unterschiedliche Kontrollstrukturen
Test Summary: ein Fehler pro Tag Test First
 Präsentation transkript:

A. Zündorf, SE Group Reverse Engineering K2 1 Übersicht 1.Quelltextanalyse mit regulären Ausdrücken 2.Compilertechniken 3.Prozessanalyse 4.Dynamische Analyse 5.Datenanalyse 6.Design Pattern Erkennung 7.Analyse- und Visualisierungstechniken 1.Clustering 2.Plagiatserkennung 3.Refactoring 4.Hot Spots 5.Designmetriken 6....

A. Zündorf, SE Group Reverse Engineering K2 2 Ziele Heute Dynamische Analyse Debugger Code Instrumentierung Profiler / Coverage Tools

A. Zündorf, SE Group Reverse Engineering K2 3 Debugger schrittweise Ausführung step over / step into conditional breakpoints manuell ein mühsames Geschäft JDI Programmierschnittstelle zur "Fernsteuerung" eines Debuggers Aufgabe: setzt einen Conditional Breakpoint auf System.out.println und findet Welcome To Fujaba

A. Zündorf, SE Group Reverse Engineering K2 4 Code Instrumentierung System.out.println am Anfang und am Ende jeder Methode => alle Methodenaufrufe und Rücksprünge nachvollziehbar (Auswertung durch zusätzliches Programm) noch genauer System.out.println bei jedem If und jeder Schleife => Statement Abfolge eindeutig rekonstruierbar Quellcodeinstrumentierung mit Compilertechniken (Aspektorientierte Techniken) Bei Java oft Byte-Code Instrumentierung

A. Zündorf, SE Group Reverse Engineering K2 5 Code Instrumentierung (2) Unzählige Anwendungen: Logging (für sporadisch auftretende Fehler) Profiling (kommt gleich) Code Coverage Differenzanalyse Probleme: Trace wächst irrsinnig schnell (Meist Einschränkungen auf bestimmte Packages nötig) Programm Slow-Down...

A. Zündorf, SE Group Reverse Engineering K2 6 Profiler statistische Auswertung zeilengenauer Traces DAS Mittel zur Effizienzsteigerung

A. Zündorf, SE Group Reverse Engineering K2 7 Aufgaben Conditional Breakpoint auf System.out.print, findet Welcome to Fujaba eclemma installieren Aspect zum Tracen aller Method Calls schreiben Fujaba einmal normal starten und schließen Fujaba einmal starten und Projekt anlegen Alten und neuen Trace verlgeichen Welche Zeilen realisieren die AboutBox? Das gleiche noch mal mit den Easter Egg Bugs ausprobieren