Technische Universität München Robotics and Embedded Systems
 

Codeanalyse und -manipulation

 
Veranstalter Prof. Dr.-Ing. A. Knoll, Dipl.-Inf. Simon Barner, Prof. Dr. H. Seidl, Dipl.-Inf. A. Flexeder, Dipl.-Inf. M. Petter
Modul IN0014
Typ Hauptseminar
Semester SS 2008
ECTS 4.0
SWS 2
Zeit & Ort 26.6./27.6. 2008 MI 02.07.034
Schein erfolgreiche Teilnahme am Seminar

Aktuelles

Bitte halten Sie unbedingt folgenden Zeitplan ein:

Themen

Datum Titel Vortragender Material Betreuer
Do, 10:00 UPPAAL: Modellierung und Verifikation von Realzeitsystemen Marinov Material Andrea Flexeder
Do, 11:00 Slam/Boop: Untersuchung der Reachability in C-Programmen Rickhoff Material Simon Barner
Do, 14:00 LLVM: Entwicklung sprachunabhängiger Analysen und Optimierungen Trummer Material Simon Barner
Do, 13:00 Codesurfer: Pointeranalyse Fritzsch Material Andrea Flexeder
Fr, 10:00 Soot: Optimierungsframework für Java-Bytecode Rödel Material Michael Petter
Fr, 11:00 Java Path Finder: Verifikation von Java Bytecode Hien Material Michael Petter
Fr, 13:00 Coverity: Source Code Analyse Kawollek Material Andrea Flexeder

Beschreibung

Apple kündigte vor zwei Jahren an, dass der LLVM Optimierer und JIT-Compiler in deren Mac OS 10.5 'Leopard' OpenGL Stack zum Einsatz kommt. Hierbei wird LLVM dazu verwendet, um Codespezialisierung innerhalb der OpenGL Pipeline zur Laufzeit zu betreiben. Grundsätzlich hat die OpenGL Pipeline diverse Parameter, die sich zur Laufzeit selten verändern. Würde man den vollverzweigten Code ausführen, wäre die Sprungvorhersage überlastet und würde zu geringer Performance führen. Um dieses Problem in den Griff zu bekommen, wird der Code in LLVM Binärcode vorkompiliert. Von diesem Kompilat ausgehend wird die Spezialisierung zur Laufzeit vorgenommen, optimiert und JIT-kompiliert.

Dies ist nur einer von vielen spannenden Einsatzbereichen für die Codeanalyse- und Codemanipulationswerkzeuge, die wir hier im Rahmen unseres Seminars erforschen wollen. Ziel des Seminars ist es, sich mit den einzelnen Werkzeugen soweit vertraut zu machen, um im Rahmen des Seminars anhand eines Beispiels den Umgang mit und den potentiellen Einsatzbereich des Werkzeugs vorzuführen.

Links

Webseite des Seminars beim Lst. Informatik II