Laufzeitanalysen mit Hilfe der Aspektorientierten ... - Feldschmid
Laufzeitanalysen mit Hilfe der Aspektorientierten ... - Feldschmid
Laufzeitanalysen mit Hilfe der Aspektorientierten ... - Feldschmid
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
6 Benutzung des Prototyps<br />
Die Idee <strong>der</strong> Anwendung war, dass man jeglichen Quellcode <strong>mit</strong> Aspekten versehen kann<br />
und dadurch Messungen am Programm vornehmen kann. Dies kann auf zwei verschiedene<br />
Arten erreicht werden. Zum einen kann man dies über Eclipse erreichen, zum an<strong>der</strong>en hat<br />
man die Möglichkeit den Quellcode über einen Kommandozeilenaufruf <strong>mit</strong> den Aspekten<br />
versehen zu lassen und kann das Kompilat daraus wie jedes an<strong>der</strong>e Javaprogramm laufen<br />
lassen. Als Ausgabe entsteht dadurch eine XML-Datei sowie eine CSV-Datei.<br />
6.1 Was leistet das Programm?<br />
Die Aspekte sind so gedacht, dass sie jedem beliebigem Quellcode hinzugefügt werden<br />
können und den Quellcode so erweitern, dass statistische Informationen ausgelesen<br />
werden können. In <strong>der</strong> vorliegenden Version können bereits folgende Daten ausgelesen<br />
werden, sind also als Aspekt vorhanden:<br />
• Instanzen zählen<br />
• Methodenaufrufe zählen, sowohl gesamt wie zu je<strong>der</strong> spezifisch<br />
• Methodenlaufzeiten<br />
• Threadinstanzen zählen<br />
• Threadausführungen (Aufrufe von start())<br />
• Exceptions die geworfen werden<br />
Das Programm führt eine Statistik während <strong>der</strong> zu untersuchende Quellcode ausgeführt<br />
wird und schreibt die erworbenen Daten, bei Beendigung <strong>der</strong> virtuellen Maschine, in eine<br />
XML-Datei, welche zusätzlich noch gleich <strong>mit</strong> beliebigen XSLT-Templates transformiert<br />
werden kann (z.B. CSV o<strong>der</strong> SVG-Ausgaben). Die Sammlung <strong>der</strong> Daten passiert so<strong>mit</strong> in<br />
Java nativem Code und kann daher auf je<strong>der</strong> zur Javaspezifikation kompatiblen virtuellen<br />
Maschine laufen, wenn es entsprechend ihrer Version kompiliert wurde.<br />
6.2 Wie benutzt man das Programm?<br />
Das Programm kann auf zwei verschiedene Arten benutzt werden. Zum einen durch einbinden<br />
in ein Eclipseprojekt (6.3) und zum an<strong>der</strong>en durch Aufruf des Codeweavers (6.4),<br />
34