Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Oda Legler 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 Design Pattern Erkennung Zugriffsmethodenklassifizierung Assoziationserkennung Pattern Erkennung
3
A. Zündorf, SE Group Reverse Engineering K2 3 Design Pattern
4
A. Zündorf, SE Group Reverse Engineering K2 4 Identifizierung von Zugriffsfunktionen Namenskonventionen: setXY, getXY Parameter- und Rückgabetypen müssen passen Im Rumpf Zugriff auf das ensprechende Attribut void setName (String value) { this.name = value; }
5
A. Zündorf, SE Group Reverse Engineering K2 5 Identifizierung von (zu-n) Assocs Problem: Speicherung in Container: Vector () neighbors; Eintragstyp unklar (wird mit Java 1.5 besser) Lösung: suche add Operationen und bestimme Eintragstyp: void addToNeighbors(C2 value) { this.neighbors.add (value); }
6
A. Zündorf, SE Group Reverse Engineering K2 6 Identifizierung von bidirektionalen Assocs finde paarweise auftretende add Operationen:... x.addToN1 (y); y.setN2 (x);... Achtung: das kann manchmal fuzzy sein
7
A. Zündorf, SE Group Reverse Engineering K2 7 Design Pattern Erkennung: Singleton privates, statisches Attribut vom Typ der eigenen Klasse public static get-Operation zur Initialisierung und zum Zugriff darauf public static get () { if (theInstance == null) { theInstance = new C (); } return theInstance; } eventuell private Konstruktor
8
A. Zündorf, SE Group Reverse Engineering K2 8 Design Pattern Erkennung Probleme Performance: –Parserbaum für Gesamtprogramm meist zu groß, dauert ewig lazy Parsing der Methodenrümpfe Viele Implementierungsvarianten: Fuzzy Pattern Detection: –Kein 1 zu 1 Match von Code Fragmenten –Vorkommen von z.B. Attributzugriff reicht (Dis Jörg Niere) Statische Analyse allein reicht nicht: Traces analysieren (Current Work by Lothar Wendehals) Siehe Fujaba Reverse Engineering Tool Suite 4.2 www.fujaba.de UMLProject einparsen und analysieren. Mit anderen Klassen experimentieren
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.