aiT-Screenshots

aiT-Screenshot

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

aiT-Screenshot

Ein-Klick-Annotationen

aiT-Screenshot

Beispielprojekte mit entsprechenden 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, werden rot hervorgehoben. Der Beitrag einer jeden Funktion zur Gesamt-WCET ist dank eines farbigen Balkens sofort ersichtlich. 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 Σ die Anzahl ihrer Durchläufe im schlimmsten Fall an und 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.


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

Vielfältige Statistiken werden von aiT zusammengetragen und erleichtern die Suche nach Engpässen und Optimierungs­möglichkeiten.

aiT-Screenshot

Interaktive Visualisierung von WCET-Beiträgen
in verschiedenen Ausführungskontexten

aiT-Screenshot

Statistiken zur Variablenbenutzung


aiT-Screenshot

Die „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 der Speicherinhalt für beliebige Adressen eingesehen werden.


aiT-Screenshot

Mit dem optionalen ValueAnalyzer-Zusatzmodul können Sie den Inhalt einer jeden Register- und Speicherzelle für jede Instruktion in jedem Ausführungskontext einsehen, sowie Initialisierungsdaten für globale Variablen vollautomatisch einsammeln und Ihrer Timing-Analyse als automatisch erzeugte Annotationen zur Verfügung stellen.


aiT-Screenshot

Ihr Einsatz von aiT kann nach ISO 26262, DO-178B/C, IEC-61508 und anderen Normen qualifiziert werden. Spezielle Qualification-Support-Kits können direkt in aiT gestartet werden, um den Qualifizierungsprozeß drastisch zu vereinfachen.