Die AbsInt-Toolchain für sicherheitskritische Systeme

Überprüfen Sie Ihren C- und C++-Code auf Laufzeitfehler mit Astrée.

Finden Sie alle un­gültigen Zeiger­zugriffe, Divisionen durch Null, arithme­tischen Über­läufe und Feld­grenzen­verletzungen. Entdecken Sie kritische Wett­läufe, Spectre-Verwundbarkeiten und andere Arten von Fehlern. Definieren Sie eigene Daten-, Kontroll- oder Signal­flußanalysen und lassen Sie diese vollautomatisch als Teil Ihres Build-Prozesses laufen.

Astrée – statische Analyse vom C- und C++-Code
Beweisen Sie mit RuleChecker die Einhaltung von Programmierstandards.

Überprüfen Sie Ihren C- oder C++-Code schnell und automatisch auf die Einhaltung von Standards wie MISRA, ISO/IEC, SEI CERT und CWE. Stellen Sie bei Bedarf Ihre ganz eigenen Zusatz­regeln auf. Überwachen Sie Code-Metriken wie Comment­dichte und zyklomatische Komplexität und erzeugen Sie Analyse­berichte zu Dokumentations- und Zertifizierungs­zwecken.

RuleChecker – automatische Regelsatzüberprüfung
Kompilieren Sie Ihren C-Code mit CompCert.

Erfüllen Sie die höchsten Sicher­heits­standards, indem Sie Ihre Anwendung mit dem einzigen Compiler übersetzen, der formal mathematisch verifiziert wurde. Alle Sicherheits­eigenschaften, die Sie auf der Quellcode-Ebene nachgewiesen haben (z. B. mit Astrée), gelten damit garantiert auch für den erzeugten Binärcode.

CompCert – verifiziertes Kompilieren
Bestimmen Sie den genauen Stackverbrauch mit StackAnalyzer.

Be­rechnen Sie automatisch und exakt den maxi­malen Stack­ver­brauch Ihrer Anwendung für jeden Programm­punkt. Finden Sie alle Stack­überläufe, oder weisen Sie formal deren Abwesen­heit nach. Identifi­zieren Sie kritische Programm­teile und Ausführungs­pfade, und sparen Sie Zeit bei der Optimierung.

StackAnalyzer – statische Analyse des Stackverbrauchs
Analysieren Sie die Ausführungszeit mit aiT, TimeWeaver oder TimingProfiler.

Bestimmen Sie mit aiT die schlimmstmögliche Ausführungszeit von Tasks in Ihren Binärdateien, ganz ohne aufwendige Tests oder Messungen. Die Analyse­ergeb­nisse gel­ten für alle Eingaben, alle mög­lichen Ausführungs­szenarien, alle Cache- und Pipeline-Zustände.

aiT – statische Analyse der Ausführungszeit

Profitieren Sie von statischen Analysen selbst bei Prozessoren, die nur schwer oder unmöglich zu modellieren sind, indem Sie TimeWeaver einsetzen, der statische Pfadanalysen mit Zeitmessungen aus dem Echtzeit-Tracing verbindet.

TimeWeaver – hybride Analyse der Ausführungszeit

Überwachen Sie mit TimingProfiler das Timing-Verhalten bereits ganz früh im Ent­wicklungs­prozeß, wenn Sie sich noch für kein bestimmtes Prozessor­derivat entschieden haben und Messungen an der Hard­ware schlicht unmöglich sind.

TimingProfiler – statisches Profiling der Ausführungszeit
Vereinfachen Sie Ihren Qualifizierungsprozeß.

Setzen Sie unsere Qualifizierungskits ein, um Ihre Quali­fizierung nach allen aktuellen Sicherheits­standards wie ISO 26262, DO-178B/C, IEC-61508, EN-50128, IEC-60880, DO-333, IEC-60188, ISO 25119 uvm. zu ver­einfachen oder zu automatisieren.

Qualifizierungskits