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 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 automatisch erzeugt werden.
Ein-Klick-Annotationen
Beispielprojekte mit entsprechenden Annotationen
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. 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.
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.
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.