Aktuelles
Bitte halten Sie unbedingt folgenden Zeitplan ein:
- Literaturbeschaffung und Einarbeitung in die Tools ab sofort bis Mitte Mai
- Bei Problemen mit der Beschaffung von Literatur und Toolzugängen: Bitte ein Treffen mit dem Betreuer vereinbaren!
- Erstellen einer Grobgliederung und eines aussagekräftigen Beispiels zur Tool-Präsentation: bis Anfang Mai
- Erstes Treffen mit dem Betreuer mit Gliederung: Anfang Mai
- Erstellen der Ausarbeitung: bis spätestens 11.6.08 erste Version an Betreuer
- Erstellen der Folien: bis spätestens 18.6.08 erste Version an Betreuer
- Zweites Treffen mit dem Betreuer mit endgültiger Version der Ausarbeitung und Folien
- Vortrag mit Demonstration des Tools an Hand des ausgewählten Beispiels
Themen
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.
- Grobe Klassifizierung der Themen innerhalb des Seminars:
- Model Checking
- Intermediate Representation
- Analyse von Executables
- Programm Korrektheit
Links
Webseite des Seminars beim Lst. Informatik II