Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Parzival Zaunbrecher 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 ant tasks in eclipse hinzufügen Fujaba/ProjectFiles/IDEA/build.xml task jcoverage run –noabout ausführen Fujaba task jcoverage run –noabout ausführen Reports unter Fujaba/doc vergleichen 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.