EnglischFranzösischSpanisch

Ad


OnWorks-Favicon

goto-cc – Online in der Cloud

Führen Sie goto-cc im kostenlosen Hosting-Anbieter OnWorks über Ubuntu Online, Fedora Online, den Windows-Online-Emulator oder den MAC OS-Online-Emulator aus

Dies ist der Befehl goto-cc, der beim kostenlosen Hosting-Anbieter OnWorks mit einer unserer zahlreichen kostenlosen Online-Workstations wie Ubuntu Online, Fedora Online, dem Windows-Online-Emulator oder dem MAC OS-Online-Emulator ausgeführt werden kann

PROGRAMM:

NAME/FUNKTION


cbmc – Bounded Model Checker für C/C++- und Java-Programme

ZUSAMMENFASSUNG


cbmc [--Eigentum Eigenschafts-ID] Datei.c ...

cbmc [--show-properties] Datei.c ...

cbmc [--all-properties] Datei.c ...

gehe zu-cc [-ICH Include-Pfad] [-C] Datei.c [-oder outfile.o]

Gehe zum Instrument im Ordner Outfile

Hier sind nur die nützlichsten Optionen aufgeführt; den Rest siehe unten.

BESCHREIBUNG


cbmc erzeugt Spuren, die zeigen, wie eine Behauptung verletzt werden kann, oder beweisen dies
Die Behauptung kann innerhalb einer bestimmten Anzahl von Schleifeniterationen nicht verletzt werden. CBMC kann lesen
Quellcode direkt oder eine von goto-cc generierte goto-Binärdatei. Java-Programme werden als angegeben
Klassendateien. Ohne weitere Optionen prüft cbmc alle Eigenschaften (automatisch).
generiert oder vom Benutzer angegeben) im Programm gefunden werden. Wenn eine der Eigenschaften möglich ist
verletzt, wird ein Gegenbeispiel gedruckt und die Analyse abgebrochen. Die Analyse kann sein
mit der Option --property auf eine bestimmte Eigenschaft beschränkt werden. Das Verifizierungsergebnis
für alle Eigenschaften kann mit der Option --all-properties abgerufen werden.

gehe zu-cc liest den Quellcode und generiert eine Goto-Binärdatei. Seine Befehlszeilenschnittstelle ist
entworfen, um das nachzuahmen gcc(1). Beachten Sie insbesondere Folgendes gehe zu-cc unterscheidet zwischen
Kompilierungs- und Verknüpfungsphasen, genau wie gcc. cbmc erwartet eine Goto-Binärdatei für which
Die Verlinkung ist abgeschlossen.

Gehe zum Instrument liest eine Goto-Binärdatei, führt eine bestimmte Programmtransformation durch und dann
schreibt das resultierende Programm als goto-binary auf die Festplatte.

Der übliche Ablauf besteht darin, (1) die Quelle mit goto-cc in eine Goto-Binärdatei zu übersetzen und dann (2)
Führen Sie die Instrumentierung mit goto-instrument durch und führen Sie abschließend (3) die Analyse mit durch
cbmc.

OPTIONAL


FRONTEND OPTIONAL (cbmc und gehe zu-cc)
-Ich Weg
Include-Pfad festlegen (C/C++)

-D-Makro
Präprozessormakro definieren (C/C++)

--vorverarbeiten
Stoppen Sie nach der Vorverarbeitung

--show-symbol-table
Symboltabelle anzeigen

--show-goto-functions
Gehe zum Programm anzeigen

ARCHITEKTUR OPTIONAL (cbmc und gehe zu-cc)
cbmc Standardmäßig werden Architektureinstellungen verwendet, die denen der Maschine entsprechen cbmc is
ausgeführt auf, d. h. die folgenden Einstellungen werden nur bei der Überprüfung der Software benötigt
soll auf einer anderen Architektur oder einem anderen Betriebssystem laufen. gehe zu-cc generiert eine Goto-Binärdatei für a
bestimmte Architektur, dh die Architektur kann nach der Goto-Binärdatei nicht geändert werden
generiert.

--16, --32, --64
Breite von int festlegen

--LP64, --ILP64, --LLP64, --ILP32, --LP32
Legen Sie die Breite von int, long und Zeigern fest

--Little-Endian
Little-Endian-Wort-Byte-Konvertierungen zulassen

--big-endian
Erlauben Sie Big-Endian-Wort-Byte-Konvertierungen

--unsigned-char
Machen Sie „char“ standardmäßig ohne Vorzeichen

--arch Zielarchitektur festlegen

--os Zielbetriebssystem festlegen

--no-arch
Bauen Sie keine Architektur auf

--no-library
Deaktivieren Sie die integrierte abstrakte C-Bibliothek

--round-to-nearest, --round-to-plus-inf, --round-to-minus-inf, --round-to-zero
IEEE-Gleitkomma-Rundungsmodus, der zu Beginn des Programms verwendet werden soll (Standard ist rund).
zum nächsten). Das zu verifizierende Programm kann diese Einstellung überschreiben, z. B. mit
Festrunde(3).

PROGRAMM INSTRUMENTE OPTIONAL (cbmc und gehe zum Instrument)
Beide cbmc und Gehe zum Instrument kann Behauptungen generieren, die bestimmte häufige Fehler abfangen,
wie unten aufgeführt.

--bounds-check
Aktivieren Sie die Überprüfung der Array-Grenzen

--div-by-zero-check
Aktivieren Sie Division-durch-Null-Prüfungen

--pointer-check
Zeigerprüfungen aktivieren

--signed-overflow-check
Aktivieren Sie arithmetische Über- und Unterlaufprüfungen für vorzeichenbehaftete Ganzzahlarithmetik

--unsigned-overflow-check
Aktivieren Sie arithmetische Über- und Unterlaufprüfungen für vorzeichenlose Ganzzahlarithmetik

--nan-check
Überprüfen Sie Gleitkommaberechnungen für NaN

--keine Behauptungen
Vom Benutzer bereitgestellte Behauptungen ignorieren

--keine-Annahmen
Ignorieren Sie vom Benutzer bereitgestellte Annahmen

--error-label Bezeichnung
Überprüfen Sie, ob das angegebene Label nicht erreichbar ist

PROGRAMM INSTRUMENTE OPTIONAL (gehe zum Instrument nur)
Gehe zum Instrument unterstützt weitere, komplexere Programmtransformationen.

--nondet-volatile
Macht Lesevorgänge aus flüchtigen Variablen nicht deterministisch

--isr-Funktion
Instrumentiert eine Interrupt-Serviceroutine mit dem angegebenen Namen

--mmio Instruments speicherzugeordnete E/A

--nondet-static
Variablen mit statischer Lebensdauer werden nicht deterministisch initialisiert

--dump-c
Geben Sie ANSI-C-Quellcode anstelle einer Goto-Binärdatei aus.

BMC OPTIONAL (cbmc)
--all-properties
Berichtsstatus aller Eigenschaften

--show-properties
Nur Eigenschaften anzeigen

--show-loops
Zeigen Sie die Schleifen im Programm an

--cover-asserstions
Prüfen Sie, welche Behauptungen erreichbar sind

--Funktionsname
Legen Sie den Namen der Hauptfunktion fest

--property-ID
Überprüfen Sie nur bestimmte Eigenschaften mit der angegebenen Kennung

--program-only
Nur Programmausdruck anzeigen

-- Depth Nr
Suchtiefe begrenzen

--unwind nr
Spulen Sie die Schleifen mehrmals ab

--unwindset L:B,...
Schleife L mit einer Grenze von B abwickeln (verwenden Sie --show-loops, um die Schleifen-IDs zu erhalten)

--show-vcc
Zeigen Sie die Verifizierungsbedingungen an

--slice-formula
Entfernen Sie Zuweisungen, die nichts mit Eigentum zu tun haben

--no-unwinding-assertions
Generieren Sie keine Abwicklungsbehauptungen

--no-pretty-names
Vereinfachen Sie Bezeichner nicht

BACKEND OPTIONAL (cbmc)
--dimacs
Generieren Sie CNF im DIMACS-Format zur Verwendung durch externe SAT-Löser

--beautify-gierig
Verschönern Sie das Gegenbeispiel (gierige Heuristik)

--smt1 Unterziele in SMT1-Syntax ausgeben (experimentell)

--smt2 Unterziele in SMT2-Syntax ausgeben (experimentell)

--boolector
Verwenden Sie Boolector (experimentell)

--mathsat
Verwenden Sie MathSAT (experimentell)

--cvc CVC3 verwenden (experimentell)

--yices
Verwenden Sie Yices (experimentell)

--z3 Z3 verwenden (experimentell)

--verfeinern
Verfeinerungsverfahren verwenden (experimentell)

--outfile Dateiname
Ausgabeformel in angegebene Datei

--arrays-uf-never
Verwandeln Sie Arrays niemals in uninterpretierte Funktionen

--arrays-uf-always
Verwandeln Sie Arrays immer in uninterpretierte Funktionen


Alle Tools berücksichtigen die Umgebungsvariable TMPDIR beim Generieren temporärer Dateien und
Verzeichnisse. Beachten Sie außerdem, dass der von CBMC verwendete Präprozessor die Umgebung verwendet
Variablen zum Auffinden von Header-Dateien. Ziel von GOTO-CC ist es, alle Umgebungsvariablen zu akzeptieren
GCC tut es.

COPYRIGHT


2001–2014, Daniel Kroening, Edmund Clarke

Nutzen Sie goto-cc online über die Dienste von onworks.net


Kostenlose Server & Workstations

Laden Sie Windows- und Linux-Apps herunter

Linux-Befehle

Ad