aiT-Screenshot

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.


aiT-Screenshot

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.


aiT-Screenshot

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 hoch­entwickelter 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 auto­matisch erzeugt werden.

aiT-Screenshot

Annotations-Wizard

aiT-Screenshot

Beispiel-Annotationen


aiT-Screenshot

Analyseergebnisse: die berechnete WCET wird in CPU-Zyklen und Mikrosekunden angegeben. Die Ergebnisse sind für alle möglichen Eingaben und Aus­führungs­szenarien gültig.

Mit einem Doppelklick auf die Analyseergebnisse kann der Aufrufgraph geöffnet werden.


aiT-Screenshot

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.


aiT-Screenshot

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.

aiT-Screenshot

Ausgegrauter toter Code

aiT-Screenshot

Zusätzliche Informationsfenster

Für jede einzelne Instruktion kann die Menge aller möglichen Pipeline-Zustände eingesehen werden.


aiT-Screenshot

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.


Beispielvisualisierung der Pipeline-Analyseergebnisse (aiT für MPC5xx)

aiT for MPC5xx
  1. Startzustand*
  2. Zwischenzustand*
  3. Endzustand*
  4. Zustandsbeschreibung
  5. Flash A
  6. Flash B
  7. Memory-Controller
  8. L2U
  9. Fetch
  10. Dispatch
  11. Execute
  12. Write-back
  13. Decode-Buffer
  14. Prefetch-Queue
  15. History-Queue

* Bezüglich der zu analysierenden Instruktion.


aiT-Screenshot

Differenz-Analyse: dieses experimentelle Feature ermöglicht einen Vergleich zwischen zwei WCET-Analysen desselben Programms bei verschiedenen Einstellungen (Annotationen, Hardware-Settings, usw.).


aiT-Screenshot

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.


aiT-Screenshot

Die neue „Sections“-Ansicht gibt einen Einblick in die einzelnen Sektionen der analysierten Binärdateien. Der Inhalt der Sektionen kann wie in einem Hex-Editor erkundet und Speicherinhalt für beliebige Adressen eingesehen werden.

Hoch