Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Christiane Bly Geändert vor über 10 Jahren
1
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....
2
A. Zündorf, SE Group Reverse Engineering K2 2 Ziele Heute Dynamische Analyse Debugger Code Instrumentierung Profiler / Coverage Tools
3
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
4
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
5
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...
6
A. Zündorf, SE Group Reverse Engineering K2 6 Profiler statistische Auswertung zeilengenauer Traces DAS Mittel zur Effizienzsteigerung
7
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
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.