İngilizceFransızcaİspanyolca

Ad


OnWorks favicon'u

goto-cc - Bulutta Çevrimiçi

Ubuntu Online, Fedora Online, Windows çevrimiçi emülatörü veya MAC OS çevrimiçi emülatörü üzerinden OnWorks ücretsiz barındırma sağlayıcısında goto-cc'yi çalıştırın

Bu, Ubuntu Online, Fedora Online, Windows çevrimiçi emülatörü veya MAC OS çevrimiçi emülatörü gibi birden fazla ücretsiz çevrimiçi iş istasyonumuzdan birini kullanarak OnWorks ücretsiz barındırma sağlayıcısında çalıştırılabilen goto-cc komutudur.

Program:

ADI


cbmc - C/C++ ve Java programları için Sınırlı Model Denetleyicisi

SİNOPSİS


cbmc [--Emlak özellik kimliği] dosya.c ...

cbmc [--özellikleri göster] dosya.c ...

cbmc [--tüm-özellikler] dosya.c ...

git-cc [-BEN dahil etme yolu] [-C] dosya.c [-veya outfile.o]

git-enstrüman dosyada dış dosya

Burada yalnızca en kullanışlı seçenekler listelenmiştir; geri kalanı için aşağıya bakın.

TANIM


cbmc bir iddianın nasıl ihlal edilebileceğini gösteren veya kanıtlayan izler üretir.
iddia, belirli sayıda döngü yinelemesi içinde ihlal edilemez. CBMC okuyabilir
doğrudan kaynak kodu veya goto-cc tarafından oluşturulan bir goto-binary. Java programları şu şekilde verilir:
sınıf dosyaları. Başka bir seçenek olmadan, cbmc tüm özellikleri kontrol eder (otomatik olarak
oluşturulan veya kullanıcı tarafından belirlenen) programda bulunur. eğer özelliklerden herhangi biri olabilir
ihlal edilirse, bir karşı örnek yazdırılır ve analiz iptal edilir. Analiz olabilir
--property seçeneğiyle belirli bir özellikle sınırlandırılmıştır. doğrulama sonucu
tüm özellikler için --all-properties seçeneği ile elde edilebilir.

git-cc kaynak kodunu okur ve bir goto-binary oluşturur. Komut satırı arayüzü,
taklit etmek için tasarlanmış gcc(1). Özellikle şunu unutmayın git-cc arasında ayrım yapar
gcc'nin yaptığı gibi, aşamaları derlemek ve birbirine bağlamak. cbmc bunun için bir goto-ikili bekliyor
bağlama tamamlandı.

git-enstrüman bir ikili dosya okur, belirli bir program dönüşümünü gerçekleştirir ve ardından
ortaya çıkan programı goto-binary olarak diske yazar.

Genel akış, (1) kaynağı goto-cc kullanarak bir goto-binary'ye çevirmek, ardından (2)
goto-enstrüman ile enstrümantasyonu gerçekleştirin ve son olarak (3) ile analizi gerçekleştirin
cbmc.

SEÇENEKLER


BAŞLANGIÇ AŞAMASI SEÇENEKLER (cbmc ve git-cc)
-ben yolu
Dahil etme yolunu ayarla (C/C++)

-D makrosu
Önişlemci makrosunu tanımlayın (C/C++)

--önişlem
Ön işlemeden sonra dur

--göster-sembol-tablosu
Sembol tablosunu göster

--göster-git-işlevleri
Goto programını göster

MİMARİ SEÇENEKLER (cbmc ve git-cc)
cbmc varsayılan olarak makineninkilerle eşleşen mimari ayarları kullanır cbmc is
üzerinde yürütülür, yani aşağıdaki ayarlar yalnızca şu anda çalıştırılan yazılımı doğrularken gereklidir.
farklı bir mimari veya işletim sistemi üzerinde çalışması gerekiyordu. git-cc için bir goto-ikili oluşturur
belirli bir mimari, yani, goto-binary oluşturulduktan sonra mimari değiştirilemez.
oluşturuldu.

---16, --32, --64
int genişliğini ayarla

--LP64, --ILP64, --LLP64, --ILP32, --LP32
int, long ve işaretçilerin genişliğini ayarlayın

--küçük endian
Küçük endian kelime bayt dönüşümlerine izin ver

--büyük-endian
Büyük endian kelime bayt dönüşümlerine izin ver

--imzasız-karakter
Varsayılan olarak "char" imzasız yapın

--arch Hedef mimariyi ayarla

--os Hedef işletim sistemini ayarla

--no-kemer
Bir mimari kurmayın

--no-kütüphane
Yerleşik soyut C kitaplığını devre dışı bırak

--yuvarlaktan en yakına, --yuvarlaktan artı-inf'e, --yuvarlaktan eksi-inf'e, --yuvarlaktan sıfıra
Program başladığında kullanılacak IEEE kayan nokta yuvarlama modu (varsayılan yuvarlaktır
en yakın). Doğrulama altındaki program bu ayarı geçersiz kılabilir, örn.
etrafı saran(3).

PROGRAMI ENSTRÜMANTASYON SEÇENEKLER (cbmc ve goto-enstrüman)
Her ikisi de cbmc ve git-enstrüman belirli yaygın hataları yakalayan iddialar üretebilir,
aşağıda listelenmiştir.

--sınır-kontrol
Dizi sınırları denetimlerini etkinleştir

--div-sıfır-kontrol
Sıfır çekle bölmeyi etkinleştir

--işaretçi-kontrol
İşaretçi kontrollerini etkinleştir

--imzalı-taşma-kontrol
İmzalı tamsayı aritmetiği için aritmetik taşma ve eksik akış denetimlerini etkinleştir

--imzasız-taşma-kontrol
İşaretsiz tamsayı aritmetiği için aritmetik taşma ve eksik akış denetimlerini etkinleştir

--nan-kontrol
NaN için kayan nokta hesaplamalarını kontrol edin

--hayır-iddialar
Kullanıcı tarafından sağlanan iddiaları yoksay

--varsayım yok
Kullanıcı tarafından sağlanan varsayımları yoksay

--hata-etiket etiketi
Verilen etikete ulaşılamadığını kontrol edin

PROGRAMI ENSTRÜMANTASYON SEÇENEKLER (goto-enstrüman sadece)
git-enstrüman daha fazla, daha karmaşık program dönüşümlerini destekler.

--nondet-uçucu
Değişken değişkenlerden deterministik olmayan okumalar yapar

--isr işlevi
Verilen ada sahip bir kesme servis rutini enstrümanlar

--mmio Instruments bellek eşlemeli G/Ç

--nondet-statik
Statik yaşam süresine sahip değişkenler deterministik olmayan bir şekilde başlatılır

--dump-c
Goto ikili dosyası yerine ANSI-C kaynak kodunun çıktısını alın.

BMC SEÇENEKLER (cbmc)
--tüm-özellikler
Tüm mülklerin durumunu bildir

--göster-özellikleri
Yalnızca özellikleri göster

--show-döngüler
Programdaki döngüleri göster

--kapak-iddiaları
Hangi iddiaların erişilebilir olduğunu kontrol edin

--fonksiyon adı
Ana işlev adını ayarla

--özellik kimliği
Yalnızca belirli bir mülkü verilen tanımlayıcıyla kontrol edin

--sadece program
Yalnızca program ifadesini göster

--derinlik numarası
Arama derinliğini sınırla

-- gevşeme numarası
Döngüleri nr kez gevşetin

--L:B'yi çöz,...
L döngüsünü bir B sınırıyla gevşetin (döngü kimliklerini almak için --show-looplarını kullanın)

--show-vcc
Doğrulama koşullarını göster

--slice-formül
Mülkiyetle ilgisi olmayan atamaları kaldırın

--hayır-gevşeme-iddiaları
Çözülen iddialar oluşturmayın

--hayır-güzel-isimler
Tanımlayıcıları basitleştirmeyin

GERİ SEÇENEKLER (cbmc)
--dimac'lar
Harici SAT çözücüler tarafından kullanılmak üzere DIMACS formatında CNF oluşturun

--güzelleştirmek-açgözlü
Karşı örneği güzelleştirin (açgözlü buluşsal yöntem)

--smt1 SMT1 sözdizimindeki çıktı alt hedefleri (deneysel)

--smt2 SMT2 sözdizimindeki çıktı alt hedefleri (deneysel)

--boolektör
Boolector kullanın (deneysel)

-- matematik
MathSAT'ı kullanın (deneysel)

--cvc CVC3 kullanın (deneysel)

--yice
Yices kullan (deneysel)

--z3 Z3'ü kullanın (deneysel)

-- rafine
İyileştirme prosedürünü kullanın (deneysel)

--outfile dosya adı
Verilen dosyaya çıktı formülü

--arrays-uf-asla
Dizileri asla yorumlanmamış işlevlere dönüştürmeyin

--arrays-uf-daima
Dizileri her zaman yorumlanmamış işlevlere dönüştürün

ÇEVRE


Tüm araçlar, geçici dosyalar oluştururken TMPDIR ortam değişkenini dikkate alır ve
dizinler. Ayrıca, CBMC tarafından kullanılan önişlemcinin ortamı kullanacağını unutmayın.
başlık dosyalarını bulmak için değişkenler. GOTO-CC, tüm ortam değişkenlerini kabul etmeyi amaçlar.
GCC yapar.

TELİF HAKKI


2001-2014, Daniel Kroening, Edmund Clarke

onworks.net hizmetlerini kullanarak goto-cc'yi çevrimiçi kullanın


Ücretsiz Sunucular ve İş İstasyonları

Windows ve Linux uygulamalarını indirin

Linux komutları

Ad