- aiT
- Screenshots
- Funktionsweise
- Genauigkeit
- Demos
- Lizenzen
- Feedback
aiT ist als ein a³-Modul erhältlich – d.h., es kann mit anderen Analyse-Tools von AbsInt in einer gemeinsamen Benutzeroberfläche kombiniert werden.
Auswahl der Dateien für die Analyse. aiT analysiert unmittelbar die ausführbaren Binärdateien Ihres Systems. Sie müssen also keine Änderungen am System selbst oder an Ihren Produktionsabläufen vornehmen.
Die Präzision der Analyse kann mithilfe von zusätzlichen Annotationen gesteigert werden. Dazu zählen z. B. Ziele von indirekten Funktionsaufrufen, obere Schranken für Schleifeniterationen, Rekursionstiefe, Code-Bereiche, die nicht analysiert werden sollen, usw.
Annotationen sind nur dann erforderlich, wenn aiT die entsprechenden Informationen nicht automatisch ermitteln kann (z. B. bei dynamischen Programmeigenschaften). Dank hochentwickelter Techniken wie automatische Schleifengrenzen- und Array-Call-Erkennung wird die Anzahl der benötigten Annotationen noch weiter gesenkt.
Die Annotationen werden in einem einfachen Textformat in einer separaten Datei abgelegt. Diese kann entweder von Ihnen selbst erstellt oder mithilfe des integrierten Annotations-Wizards automatisch erzeugt werden.
Analyseergebnisse: die berechnete WCET wird in CPU-Zyklen und Mikrosekunden angegeben. Die Ergebnisse sind für alle möglichen Eingaben und Ausführungsszenarien gültig.
Mit einem Doppelklick auf die Analyseergebnisse kann der Aufrufgraph geöffnet werden.
Aufrufgraph mit Ergebnissen der WCET-Analyse. Funktionsaufrufe, die auf dem Worst-Case-Ausführungspfad liegen, sind farblich hervorgehoben. Der Beitrag einer jeden Funktion zur Gesamt-WCET ist dank eines farbigen Balkens sofort ersichtlich. Alle Farben sind frei einstellbar. Die Funktionen können interaktiv aufgefaltet werden, um den Kontrollfluß genauer zu inspizieren.
Kontrollflußgraph mit Ergebnissen der WCET-Analyse.
Für jede Kante gibt sum # die Anzahl ihrer Durchläufe
im schlimmsten Fall an und max t die WCET des Basisblocks,
von dem die Kante ausgeht. Code-Teile, die unter keinen Umständen ausgeführt
werden, werden ausgegraut. Weitere Analysedetails (z. B. der Beitrag
einer Funktion zur Gesamt-WCET in verschiedenen Ausführungskontexten)
können in zusätzlichen Informationsfenstern eingesehen werden. Von jeder Stelle
des Graphen kann man jederzeit zur entsprechenden Stelle im C- oder Assemblercode springen.
Für jede einzelne Instruktion kann die Menge aller möglichen Pipeline-Zustände eingesehen werden.
Visualisierung der Ergebnisse der Pipeline-Analyse für einzelne Instruktionen. Jede Ebene entspricht einem CPU-Zyklus. Verzweigungen im Ausführungsbaum stellen verschiedene Ausführungsszenarien dar (z. B. einen Cache-Hit und einen Cache-Miss, sofern beide Fälle analysiert werden müssen). Jeder Untergraph entspricht einem Pipeline-Zustand. aiT ermöglicht interaktives Erkunden von CPU- und CPU-Core-Zuständen an beliebigen Stellen im Graphen.

* Bezüglich der zu analysierenden Instruktion.
Differenz-Analyse: dieses experimentelle Feature ermöglicht einen Vergleich zwischen zwei WCET-Analysen desselben Programms bei verschiedenen Einstellungen (Annotationen, Hardware-Settings, usw.).
Die in der Visualisierung benutzten Farben können frei eingestellt werden, um eine optimale Anzeige auf Schwarz-Weiß-Bildschirmen oder für farbblinde Benutzer zu gewährleisten.