Wie genau ist aiT?

Die aiT-Analyseergebnisse sind sicher – d.h., sie liegen niemals unter der tat­säch­li­chen WCET. Zugleich sind sie aber auch extrem präzise – d.h., die WCET-Überschätzung wird stets möglichst gering gehalten. Dies wird immer wieder bestätigt durch unsere eigenen Versuche, Erfahrungs­berichte unserer Kunden und unabhängige Studien.

Studie Prozessor Durchschnittliche WCET-Überschätzung
Andere Methoden aiT
Tests am Airbus-Code MPC755 „unbrauchbar“ <25 %
Tests am Volvo-Code C16x 212 % 16 %
Tests mit ASCET ST10 ? 3 %
aiT gegen ARMulator ARM7 ? 5 %
WCET-Tool-Challenge C16x, ARM7, MPC565 >81 % 7–8 %
FAU Erlangen–Nürnberg ARM Cortex-M4 96 % 23 %
McGill University XMC4500 (Cortex-M4) >48 % <10 %

Studie von Airbus France (aiT für PowerPC 755)

Airbus-Logo
Der Vergleich zeigt, daß die von aiT berechneten Worst-Case-Laufzeiten typischerweise rund 25 % höher sind als die ge­messenen Zeiten, wobei die tatsächliche aber nicht berechenbare WCET irgend­wo dazwischen liegt. Erwähnenswert ist auch ein weiterer Vergleich, nämlich der der aiT-Analyseergebnisse mit den Ergebnissen der traditionellen Airbus-Methoden. Wie bereits vorher­gesagt wurde, als die Entscheidung für aiT fiel, sind die Ergebnisse der traditionellen Metho­den weitaus ungenauer als die von aiT berechneten Zeiten. Eigentlich ist der Unter­schied sogar so groß, daß die traditionellen Methoden unbrauchbar sind.“

Die Studie stammt aus dem Jahre 2003. aiT wurde seitdem ständig weiterentwickelt, so daß die aktuelle Version noch viel genauere Ergebnisse liefert.

Studie am Volvo-Code an der Mälardalen-Universität (aiT für C16x)

VOLVO-Logo

In seiner Diplomarbeit „Statische WCET-Analyse von task­orientiertem Code für Baufahrzeuge“ berichtete Daniel Sehlberg, daß aiT die ge­messene WCET im Schnitt um nur 16 % überschätzt. Volvos traditionelle Methoden über­schätzten die WCET derselben Tasks im Schnitt um 212 %.

Vergleich der aiT-Analyseergebnisse mit Volvos traditioneller Methode

Tests mit ETAS’ ASCET (aiT für ST10)

ETAS-Logo

Die nachfolgende Tabelle vergleicht die aiT-Analyseergebnisse mit der gemes­senen WCET für die Prozeduren eines Engine-Throttle-Kontrollmoduls. Das Modul wurde in ASCET spezifiziert und mit dem TASKING-C-Compiler v7.5 für ein ST10F269-Mikrocontroller-Board kompiliert. Die Laufzeiten wurden mit dem iSYSTEMS-ILA-128-Logic-Analyzer aus Bus-Traces extrahiert. Das Experiment zeigte eine durchschnittliche WCET-Überschätzung von nur 3 %.

Prozedur Gemessene WCET Von aiT berechnet Überschätzung
12912910,0 %
2660,0 %
326260,0 %
42632837,6 %
52632837,6 %
62632837,6 %
7298031385,3 %
81331330,0 %
91091100,9 %
101161170,9 %

aiT für ARM7 gegen ARMulator

ARM-Logo

ARMulator ist ein Prozessor-Simulator, der von ARM als Bestandteil des ARM-Development-Toolkits angeboten wird. Er ermöglicht es, das Verhalten eines Programms für einen bestimmten ARM-Prozessor einzuschätzen, ohne das Pro­gramm tatsächlich auf dem Prozessor auszuführen.

Eine von Daniel Sandell an der Mälardalen-Universität durchgeführte Studie zeigte, daß die von aiT berechneten Worst-Case-Laufzeiten im Schnitt nur 5 % höher lagen als die Ergebnisse der Simulation mit ARMulator.

Testprogramm ARMulator aiT Quotient aiT/ARMulator
Array_complex_updates239925391,06
Array_real_updates126313071,03
Biquad_one_section1501671,11
Convolution_filter6607031,07
Complex_multiply1721901,10
Complex_update1041211,16
Digital_filter97810221,04
Dot_product951081,14
Fibonacci5225321,02
Impulse_response152015981,05
Matrix_convolution709674011,04
Matrix_product_137887399001,05
Matrix_product_234787368001,06
Matrix_product_33173451,09
Matrix_product_4518554421,05
Real_update55661,20
aiTs Vorhersagen waren in sämtlichen Fällen höher als die Simulationsergebnisse. Wir be­wer­ten das positiv, als ein Zeichen, daß die aiT-Analyseergebnisse sicher sind. Zuletzt sollte man anmerken, daß [in unserem Test] die aiT-Ergebnisse nicht mit dem Verhalten der tatsäch­lichen Hardware, sondern mit dem eines Hardware-Modells verglichen wurden.“

WCET-Tool-Challenge (aiT für C16x, ARM7 und PowerPC 565)

ARTIST2-Logo

2006 nahm aiT an der ersten WCET-Tool-Challenge teil, einem von der Mälardalen-Universität organisierten und vom ARTIST2-Netzwerk geförderten Wettbewerb. Das erklärte Ziel des Wettbewerbs war es, verschiedene Me­tho­den der WCET-Analyse zu untersuchen und miteinander zu vergleichen. Teilgenommen haben alle zu der Zeit erhältlichen Werkzeuge und Prototypen.

aiT trat als einziges Werkzeug gleich für drei verschiedene Prozessor-Architekturen an. Es war das einzige Werkzeug, das sämtliche Testprogramme zu analysieren imstande war. Die von aiT gelieferten Ergebnisse waren in den meisten Fällen außerordentlich genau. Das Urteil der Jury lautete, daß aiT sehr benutzerfreundlich ist, den Benutzer vor unrealistischen Code-Annotationen warnt und sehr präzise Analyseergebnisse liefert.

Werkzeug Durchschnittliche WCET-Überschätzung Durchlaufene Tests Prozessorkomplexität
aiT 7–8 % 17/17 einfach bis hochkomplex
Bound-T k. A. 13/17 einfach, mittel
SWEET k. A. 15/17 mittel
Chronos 81–89 % 13/17 simulierter Prozessor
„aiT war imstande, alle Arten von Tests zu bewältigen und für sämtliche Testprogramme Er­geb­nisse zu liefern. aiT ermöglicht WCET-Analyse selbst für komplexe Prozessoren. […] aiT de­monstriert seine führende Position durch all seine Merkmale und untermauert seine Führung als ein den Anforderungen der Industrie gewachsenes Werkzeug.“

Studie der McGill-Universität (aiT für Cortex-M4)

McGill University logo

Márton Búr, Kristóf Marussy, Brett Meyer und Dániel Varró testeten aiT im Jahre 2018 an vier Benchmark-Programmen, die auf einem Infineon-Relax-Lite-Board mit dem XMC4500-F100-K1024-Mikrocontroller liefen.

Die Forscher berichteten, daß aiT die gemessene WCET im Schnitt um 9,75 % überschätzte. Ein als Referenz benutztes Konkurrenzprodukt überschätzte die WCET derselben Tasks im Schnitt um 48,58 %.

Benchmark Gemessene WCET aiT OTAWA
Close trains265230384210
End of siding139514771860
Misaligned turnout9399871370
Train locations489507695