IngleseFranceseSpagnolo

Ad


Favicon di OnWorks

goto-cc - Online nel cloud

Esegui goto-cc nel provider di hosting gratuito OnWorks su Ubuntu Online, Fedora Online, emulatore online Windows o emulatore online MAC OS

Questo è il comando goto-cc che può essere eseguito nel provider di hosting gratuito OnWorks utilizzando una delle nostre molteplici workstation online gratuite come Ubuntu Online, Fedora Online, emulatore online Windows o emulatore online MAC OS

PROGRAMMA:

NOME


cbmc - Bounded Model Checker per programmi C/C++ e Java

SINOSSI


CBMC [--proprietà ID-proprietà] file.c ...

CBMC [--mostra-proprietà] file.c ...

CBMC [--tutte le proprietà] file.c ...

vai-cc [-IO include-percorso] [-C] file.c [-O outfile.o]

goto-strumento infilare file di uscita

Qui sono elencate solo le opzioni più utili; vedi sotto per il resto.

DESCRIZIONE


CBMC genera tracce che dimostrano come un'asserzione può essere violata, o dimostra che
l'asserzione non può essere violata entro un dato numero di iterazioni del ciclo. CBMC può leggere
codice sorgente direttamente o un binario goto generato da goto-cc. I programmi Java sono dati come
file di classe. Senza ulteriori opzioni, cbmc controlla tutte le proprietà (automaticamente
generato o specificato dall'utente) trovato nel programma. Se una qualsiasi delle proprietà può essere
violato, viene stampato un controesempio e l'analisi viene interrotta. L'analisi può essere
limitato a una particolare proprietà con l'opzione --property. Il risultato della verifica
per tutte le proprietà può essere ottenuto mediante l'opzione --all-properties.

vai-cc legge il codice sorgente e genera un binario goto. La sua interfaccia a riga di comando è
progettato per imitare quello di gcc(1). Nota in particolare che vai-cc distingue tra
fasi di compilazione e collegamento, proprio come fa gcc. CBMC si aspetta un goto-binary per il quale
il collegamento è stato completato.

goto-strumento legge un binario goto, esegue una determinata trasformazione del programma e quindi
scrive il programma risultante come goto-binary su disco.

Il flusso usuale è (1) tradurre source in un goto-binary usando goto-cc, quindi (2)
eseguire la strumentazione con goto-instrument e infine (3) eseguire l'analisi con
CBMC.

VERSIONI


FRONTEND VERSIONI (CBM ed vai-cc)
-io percorso
Imposta percorso di inclusione (C/C++)

MrGreen macro
Definire la macro del preprocessore (C/C++)

--preprocesso
Interrompi dopo la preelaborazione

--mostra-tabella-simbolo
Mostra tabella dei simboli

--show-goto-funzioni
Mostra vai al programma

ARCHITETTONICO VERSIONI (CBM ed vai-cc)
CBMC per impostazione predefinita utilizza impostazioni architetturali che corrispondono a quelle della macchina CBMC is
eseguito su, ad esempio, le impostazioni di seguito sono necessarie solo quando si verifica il software che è
pensato per essere eseguito su un'architettura o un sistema operativo diversi. vai-cc genera un goto-binary per a
architettura particolare, cioè, l'architettura non può essere modificata dopo che il goto-binary è
generato.

--16, --32, --64
Imposta larghezza di int

--LP64, --ILP64, --LLP64, --ILP32, --LP32
Imposta la larghezza di int, long e puntatori

--Little Endian
Consenti conversioni word-byte little-endian

--big endian
Consenti conversioni big-endian word-byte

--carattere-senza segno
Rendi "char" non firmato per impostazione predefinita

--arch Imposta l'architettura di destinazione

--os Imposta il sistema operativo di destinazione

--no-arco
Non creare un'architettura

--no-libreria
Disabilita la libreria C astratta incorporata

--arrotondare al più vicino, --arrotondare a più inf, --arrotondare a meno inf, --arrotondare a zero
Modalità di arrotondamento in virgola mobile IEEE da utilizzare all'inizio del programma (l'impostazione predefinita è round
al più vicino). Il programma in fase di verifica può ignorare questa impostazione, ad es. con
feseround(3).

PROGRAMMA STRUMENTAZIONE VERSIONI (CBM ed goto-strumento)
Entrambi CBMC ed goto-strumento può generare asserzioni che catturano errori comuni specifici,
come di seguito elencati.

--controllo-limiti
Abilita i controlli dei limiti dell'array

--div-by-zero-controllo
Abilita divisione per zero controlli

--controllo-puntatore
Abilita i controlli del puntatore

--signed-overflow-check
Abilita i controlli aritmetici di overflow e underflow per l'aritmetica di interi con segno

--unsigned-overflow-check
Abilita i controlli aritmetici di overflow e underflow per l'aritmetica di interi senza segno

--nan-controlla
Controlla i calcoli in virgola mobile per NaN

--no-asserzioni
Ignora le asserzioni fornite dall'utente

--no-presunzioni
Ignora le ipotesi fornite dall'utente

--etichetta etichetta di errore
Verificare che l'etichetta data sia irraggiungibile

PROGRAMMA STRUMENTAZIONE VERSIONI (goto-strumento solo)
goto-strumento supporta ulteriori e più complesse trasformazioni del programma.

--non-volatile
Rende le letture da variabili volatili non deterministiche

--isr funzione
Strumenti una routine di servizio di interruzione con il nome dato

--mmio Instruments I/O mappati in memoria

--nondet-statico
Le variabili con durata statica vengono inizializzate in modo non deterministico

--dump-c
Emetti il ​​codice sorgente ANSI-C invece di un binario goto.

BMC VERSIONI (CBM)
--all-proprietà
Segnala lo stato di tutte le proprietà

--show-proprietà
Mostra solo proprietà

--show-loop
Mostra i loop nel programma

--cover-asserzioni
Controlla quali asserzioni sono raggiungibili

--nome funzione
Imposta il nome della funzione principale

--ID proprietà
Controlla solo la proprietà specifica con l'identificatore dato

--solo programma
Mostra solo l'espressione del programma

--profondità nr
Limita la profondità di ricerca

--rilassarsi nr
Svolgi loop nr volte

--srotolare L:B,...
Svolgi il ciclo L con un limite di B (usa --show-loops per ottenere gli ID del ciclo)

--mostra-vcc
Mostra le condizioni di verifica

--formula-fetta
Rimuovere le assegnazioni non correlate alla proprietà

--no-svolgimento-asserzioni
Non generare affermazioni snervanti

--senza-nomi-carini
Non semplificare gli identificatori

BACKEND VERSIONI (CBM)
--dimacs
Genera CNF in formato DIMACS per l'utilizzo da parte di risolutori SAT esterni

--beautify-avido
Abbellisci il controesempio (euristica avida)

--smt1 Output sottoobiettivi nella sintassi SMT1 (sperimentale)

--smt2 Output sottoobiettivi nella sintassi SMT2 (sperimentale)

--boolector
Usa Boolector (sperimentale)

--matematica
Usa MathSAT (sperimentale)

--cvc Usa CVC3 (sperimentale)

--sì
Usa Yices (sperimentale)

--z3 Usa Z3 (sperimentale)

--perfeziona
Usa procedura di perfezionamento (sperimentale)

--outfile nomefile
Formula di output nel file specificato

--arrays-uf-mai
Non trasformare mai gli array in funzioni non interpretate

--arrays-uf-sempre
Trasforma sempre gli array in funzioni non interpretate

AMBIENTE


Tutti gli strumenti rispettano la variabile di ambiente TMPDIR durante la generazione di file temporanei e
directory. Si noti inoltre che il preprocessore utilizzato da CBMC utilizzerà l'ambiente
variabili per individuare i file di intestazione. GOTO-CC mira ad accettare tutte le variabili d'ambiente che
GCC lo fa.

COPYRIGHT


2001-2014, Daniel Kroening, Edmund Clarke

Usa goto-cc online utilizzando i servizi onworks.net


Server e workstation gratuiti

Scarica app per Windows e Linux

Comandi Linux

Ad