Angielskifrancuskihiszpański

Ad


Ulubiona usługa OnWorks

goto-cc — Online w chmurze

Uruchom goto-cc w bezpłatnym dostawcy hostingu OnWorks w systemie Ubuntu Online, Fedora Online, emulatorze online systemu Windows lub emulatorze online systemu MAC OS

Jest to polecenie goto-cc, które można uruchomić u dostawcy bezpłatnego hostingu OnWorks przy użyciu jednej z naszych wielu bezpłatnych stacji roboczych online, takich jak Ubuntu Online, Fedora Online, emulator online systemu Windows lub emulator online systemu MAC OS

PROGRAM:

IMIĘ


cbmc - Bounded Model Checker dla programów C/C++ i Java

STRESZCZENIE


cbmc [--własność identyfikator-własności] plik.c ...

cbmc [--pokaż-właściwości] plik.c ...

cbmc [--wszystkie-właściwości] plik.c ...

goto-cc [-I Dołącz-ścieżkę] [-C] plik.c [-lub plik wyjściowy.o]

goto-instrument w pliku plik wyjściowy

Tutaj wymieniono tylko najbardziej przydatne opcje; patrz poniżej dla reszty.

OPIS


cbmc generuje ślady, które pokazują, w jaki sposób można naruszyć twierdzenie lub dowodzi, że
asercja nie może zostać naruszona w ramach określonej liczby iteracji pętli. CBMC potrafi czytać
kod źródłowy bezpośrednio lub goto-binar wygenerowany przez goto-cc. Programy Java są podane jako
pliki klas. Bez żadnych dalszych opcji cbmc sprawdza wszystkie właściwości (automatycznie
wygenerowane lub określone przez użytkownika) znalezione w programie. Jeśli którakolwiek z właściwości może być
naruszone, kontrprzykład jest drukowany i analiza jest przerywana. Analiza może być
ograniczone do określonej właściwości z opcją --property. Wynik weryfikacji
dla wszystkich właściwości można uzyskać za pomocą opcji --all-properties.

goto-cc odczytuje kod źródłowy i generuje goto-binary. Jego interfejs wiersza poleceń to
zaprojektowany, aby naśladować to z gcc(1). Zwróć uwagę w szczególności, że goto-cc rozróżnia
fazy kompilowania i łączenia, tak jak robi to gcc. cbmc oczekuje goto-binarnego, dla którego
łączenie zostało zakończone.

goto-instrument odczytuje goto-binar, wykonuje daną transformację programu, a następnie
zapisuje powstały program jako goto-binary na dysku.

Zwykłym przepływem jest (1) przetłumaczenie źródła na goto-binar za pomocą goto-cc, a następnie (2)
wykonać oprzyrządowanie za pomocą goto-instrument, a na koniec (3) wykonać analizę za pomocą
cbmc.

OPCJE


FRONTEND OPCJE (cbmc i goto-cc)
-Ja ścieżka
Ustaw ścieżkę dołączania (C/C++)

-D makro
Zdefiniuj makro preprocesora (C/C++)

--przetwarzanie wstępne
Zatrzymaj po wstępnym przetworzeniu

--pokaż-symbol-tabela
Pokaż tabelę symboli

--pokaż-przejdź-funkcje
Pokaż goto program

ARCHITEKTONICZNY OPCJE (cbmc i goto-cc)
cbmc domyślnie używa ustawień architektonicznych, które pasują do ustawień maszyny cbmc is
wykonywane na, tj. poniższe ustawienia są potrzebne tylko podczas weryfikacji oprogramowania, które jest
przeznaczone do pracy w innej architekturze lub systemie operacyjnym. goto-cc generuje goto-binarny dla
konkretna architektura, tj. architektura nie może zostać zmieniona po tym, jak goto-binary jest
wygenerowane.

-16, --32, --64
Ustaw szerokość int

--LP64, --ILP64, --LLP64, --ILP32, --LP32
Ustaw szerokość int, long i pointers

-- little-endian
Zezwalaj na konwersje słowo-bajt typu little-endian

--big-endian
Zezwalaj na konwersje słowo-bajt typu big-endian

--unsigned-char
Ustaw domyślnie znak „char” bez znaku

--arch Ustaw docelową architekturę

--os Ustaw docelowy system operacyjny

--bez łuku
Nie twórz architektury

--brak-biblioteki
Wyłącz wbudowaną abstrakcyjną bibliotekę C

--zaokrąglenie-do-najbliższego, --zaokrąglenie-do-plus-inf, --zaokrąglenie-do-minus-inf, --zaokrąglenie-do-zera
Tryb zaokrąglania zmiennoprzecinkowego IEEE do użycia podczas uruchamiania programu (domyślnie jest to zaokrąglanie)
do najbliższego). Weryfikowany program może nadpisać to ustawienie, np. za pomocą
biesiada(3).

PROGRAM OPRZYRZĄDOWANIE OPCJE (cbmc i goto-instrument)
Obie cbmc i goto-instrument potrafi generować asercje wyłapujące określone typowe błędy,
wymienione poniżej.

--sprawdzenie granic
Włącz kontrolę granic tablic

--div-by-zero-check
Włącz dzielenie przez zero kontroli

--wskaźnik-sprawdzanie
Włącz sprawdzanie wskaźnika

--podpisane-przepełnienie-sprawdzenie
Włącz arytmetyczne sprawdzanie przepełnienia i niedopełnienia dla arytmetyki liczb całkowitych ze znakiem

--unsigned-overflow-check
Włącz arytmetyczne sprawdzanie przepełnienia i niedopełnienia dla arytmetyki liczb całkowitych bez znaku

--nan-sprawdź
Sprawdź obliczenia zmiennoprzecinkowe dla NaN

--bez twierdzeń
Ignoruj ​​twierdzenia dostarczone przez użytkownika

--brak założeń
Ignoruj ​​założenia podane przez użytkownika

--etykieta etykiety błędu
Sprawdź, czy dana etykieta jest nieosiągalna

PROGRAM OPRZYRZĄDOWANIE OPCJE (instrument goto tylko)
goto-instrument obsługuje dalsze, bardziej złożone przekształcenia programów.

--nondet-lotny
Sprawia, że ​​odczyty zmiennych zmiennych nie są deterministyczne

--funkcja isr
Instrumentuje procedurę obsługi przerwań o podanej nazwie

--mmio Instrumenty we/wy mapowane w pamięci

--nondet-statyczny
Zmienne ze statycznym czasem życia są inicjowane niedeterministycznie

--dump-c
Wyjście kodu źródłowego ANSI-C zamiast binarnego goto.

BMC OPCJE (cbmc)
--wszystkie-właściwości
Zgłoś stan wszystkich nieruchomości

--pokaż-właściwości
Pokaż tylko właściwości

--show-pętle
Pokaż pętle w programie

--okładki-oświadczenia
Sprawdź, które asercje są osiągalne

--nazwa funkcji
Ustaw nazwę głównej funkcji

--identyfikator nieruchomości
Sprawdź tylko konkretną właściwość o podanym identyfikatorze

--tylko program
Pokaż tylko wyrażenie programu

--głębokość nr
Ogranicz głębokość wyszukiwania

--odpręż się nr
Rozwiń pętle nr razy

--rozwinięcie L:B,...
Rozwiń pętlę L z ograniczeniem B (użyj --show-loops, aby uzyskać identyfikatory pętli)

--pokaż-vcc
Pokaż warunki weryfikacji

--slice-formuła
Usuń przypisania niezwiązane z usługą

--nie-rozwijanie-zaświadczeń
Nie generuj odwijających się asercji

--no-ładnych-imion
Nie upraszczaj identyfikatorów

WSTECZ OPCJE (cbmc)
--dimaki
Generuj CNF w formacie DIMACS do użytku przez zewnętrzne solwery SAT

-- upiększyć-chciwy
Upiększ kontrprzykład (chciwa heurystyka)

--smt1 Cele podrzędne wyników w składni SMT1 (eksperymentalne)

--smt2 Cele podrzędne wyników w składni SMT2 (eksperymentalne)

--boolektor
Użyj Boolectora (eksperymentalnie)

--matsat
Użyj MathSAT (eksperymentalnie)

--cvc Użyj CVC3 (eksperymentalnie)

--yice
Użyj Yices (eksperymentalne)

--z3 Użyj Z3 (eksperymentalnie)

--oczyścić
Użyj procedury udoskonalania (eksperymentalnie)

--outfile nazwa pliku
Wyprowadź formułę do podanego pliku

--tablice-uf-nigdy
Nigdy nie zmieniaj tablic w niezinterpretowane funkcje

--tablice-uf-zawsze
Zawsze zmieniaj tablice w niezinterpretowane funkcje

ŚRODOWISKO


Wszystkie narzędzia uwzględniają zmienną środowiskową TMPDIR podczas generowania plików tymczasowych i
katalogi. Ponadto należy pamiętać, że preprocesor używany przez CBMC będzie korzystał ze środowiska
zmienne do lokalizacji plików nagłówkowych. GOTO-CC ma na celu zaakceptowanie wszystkich zmiennych środowiskowych, które
GCC tak.

PRAWA AUTORSKIE


2001-2014, Daniel Kroening, Edmund Clarke

Użyj goto-cc online, korzystając z usług onworks.net


Darmowe serwery i stacje robocze

Pobierz aplikacje Windows i Linux

Komendy systemu Linux

Ad