Kernekoncepter
C Analyzer ist ein Werkzeug für die statische Analyse von C-Programmen, das auf der Theorie der abstrakten Interpretation basiert. Es ermöglicht die Erkennung von Laufzeitfehlern in sicherheitskritischen Systemen, um mögliche negative Auswirkungen auf Menschenleben zu vermeiden und Zeit und Geld zu sparen.
Resumé
C Analyzer ist ein Werkzeug für die statische Analyse von C-Programmen, das auf der Theorie der abstrakten Interpretation basiert. Es verwendet eine plug-and-play-Architektur für mehrere abstrakte Domänen, um die erforderliche Genauigkeit bei der Programmerkennung zu erreichen.
Das Werkzeug nutzt die API des LLVM-C/C++-Compilers Clang, um den Kontrollflussgrafen (CFG) eines gegebenen C-Programms zu generieren und zu durchlaufen. Während der CFG-Durchquerung generiert es Invarianten in verschiedenen abstrakten Domänen für Anweisungen in Basisblöcken des CFG. Mit Hilfe dieser Invarianten können einige Programmeigenschaften wie Division durch Null, Modulo Null, arithmetischer Überlauf usw. analysiert werden.
C Analyzer unterstützt derzeit die Analyse von Deklarationen, Zuweisungen, binären Operationen (arithmetisch, relational, Bitverschiebung usw.), Bedingungen (if-else), Schleifen (while, do-while, for-Schleife), verschachtelten Bedingungen und verschachtelten Schleifen. Arrays, Strukturen, Unions, Zeiger und Funktionsaufrufe werden derzeit nicht unterstützt.
Statistik
Keine relevanten Statistiken oder Kennzahlen im Inhalt gefunden.
Citater
Keine auffallenden Zitate im Inhalt gefunden.