1 / 7

Übersicht

Übersicht. Quelltextanalyse mit regulären Ausdrücken Compilertechniken Prozessanalyse Dynamische Analyse Datenanalyse Design Pattern Erkennung Analyse- und Visualisierungstechniken Clustering Plagiatserkennung Refactoring Hot Spots Designmetriken. Ziele Heute. Dynamische Analyse

Download Presentation

Übersicht

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Übersicht • Quelltextanalyse mit regulären Ausdrücken • Compilertechniken • Prozessanalyse • Dynamische Analyse • Datenanalyse • Design Pattern Erkennung • Analyse- und Visualisierungstechniken • Clustering • Plagiatserkennung • Refactoring • Hot Spots • Designmetriken • ...

  2. Ziele Heute Dynamische Analyse • Debugger • Code Instrumentierung • Profiler / Coverage Tools

  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. 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. 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. Profiler • statistische Auswertung zeilengenauer Traces • DAS Mittel zur Effizienzsteigerung

  7. Aufgaben • Conditional Breakpoint auf System.out.print, findet Welcome to Fujaba • ant tasks in eclipse hinzufügenFujaba/ProjectFiles/IDEA/build.xml • task jcoverage run –noabout ausführenFujaba task jcoverage run –noabout ausführen Reports unter Fujaba/doc vergleichenWelche Zeilen realisieren die AboutBox? • Das gleiche noch mal mit den Easter Egg Bugs ausprobieren 

More Related