aiT 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 Schleifendurchläufe und Rekursionstiefe, sowie Beschränkung der Analyse auf ausgewählte Codeabschnitte.
Annotationen sind nur dann erforderlich, wenn aiT die entsprechenden Informationen nicht automatisch ermitteln kann (z. B. bei dynamischen Programmeigenschaften). Dank hochentwickelter Techniken wie der automatischen Schleifengrenzen- und Feldaufruf-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 manuell erstellt oder auch automatisch erzeugt werden, z. B. mit dem ValueAnalyzer-Zusatzmodul.
„aiT is sehr einfach zu benutzen. Es bietet zwar viele Konfigurationsmöglichkeiten, doch ein erstes Ergebnis erhält man sehr schnell. Annotationen können zu einem späteren Zeitpunkt hinzugefügt werden. [… Das Tool] hat bei Weitem die besten Fähigkeiten, dynamische Aufrufe automatisch aufzulösen.“Unabhängige Fachstudie der Universität Stuttgart (PDF)
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, 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.
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. Codeabschnitte, die unter keinen Umständen ausgeführt
werden, werden ausgegraut. Weitere Details (z. B. der Beitrag
einer Funktion zur Gesamt-WCET in verschiedenen Ausführungskontexten)
können über das Kontextmenü eingesehen werden.
Von jeder Stelle des Graphen kann man jederzeit zur entsprechenden Stelle im C- oder Assemblercode springen, und 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.
Vielfältige Statistiken werden von aiT zusammengetragen und erleichtern die Suche nach Engpässen und Optimierungsmöglichkeiten.
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.
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.
Mit der Differenzanalyse können Sie verschiedene Analysedurchläufe vergleichen. Wenn Sie z. B. Änderungen an Ihrem System vornehmen, können Sie deren Auswirkung auf die Laufzeit leicht nachvollziehen.
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ß stark zu vereinfachen.