Bild mit Unilogo
homeicon uni sucheicon suche siteicon sitemap kontakticon kontakt impressicon impressum
unilogo Universität Stuttgart 
Institut für Formale Methoden der Informatik

wAnalyzer - Ein Tool für die Datenflussanalyse

 

Einführung

Viele Compiler optimieren die zu übersetzenden Programme, wobei beispielsweise überflüssige Variablen entfernt oder die mehrfache Berechnung gleicher Zwischenergebnisse vermieden wird. Diese und andere Optimierungen lassen sich als Spezialfälle einer Methode zur Datenflussanalyse in einem Programm auffassen, deren Kern ein einfacher Algorithmus ist, der sogenannte Worklist-Algorithmus. Genauer gesagt extrahiert man aus jeder Anweisung des Programms die für die jeweilige Analyse relevante Information und gibt an, wie die Hintereinanderausführung zweier Anweisungen sowie Verzweigungen im Kontrollfluss die Informationen beeinflussen. Mathematisch gesehen bilden die Analysewerte einen vollständigen Verband. Der Worklist-Algorithmus kann mit einem solchen Verband instanziiert werden und beschreibt allgemein, wie das Analyse-Ergebnis berechnet wird. Je nach Instanziierung kann er verschiedene Analyseergebnisse produzieren.

Über wAnalyzer

Das vorliegende Tool implementiert den Worklist-Algorithmus für eine einfache Programmiersprache und instanziiert ihn für mehrere Analysen, z.B. das Auffinden uninitialisierter Variablen. Da der Algorithmus modular implementiert ist, kann er leicht um weitere Analysen erweitert werden. Die Steuerung erfolgt wahlweise über eine textbasierte oder eine graphische Benutzerschnittstelle.

Dateien

Kontakt

Das Tool wurde im Rahmen eines Softwarepraktikums von Andreas Gaiser und Frederik Stahr entwickelt. Fragen sollten an die Autoren oder an Barbara König oder Stefan Schwoon gerichtet werden.

Veränderungen

  • 26.04.2005: Version 1.0.2 (Änderungen am Makefile und am README)
  • 07.12.2004: Version 1.0.1 (kleine Änderung am Makefile)
  • 06.12.2004: Version 1.0.0 freigegeben