«software-verification» etiketlenmiş sorular

Programların doğruluğunu kanıtlamak için yöntemler ve teknikler hakkında sorular.

6
Uygulamada resmi program doğrulama
Bir yazılım mühendisi olarak, endüstriyel ürünler için çok fazla kod yazıyorum. Sınıflar, iplikler, bazı tasarım çabaları ile nispeten karmaşık şeyler, fakat aynı zamanda performanstan ödün verir. Çok fazla test yapıyorum ve test yapmaktan bıktım, bu yüzden Coq, Isabelle gibi resmi kanıt araçlarına ilgi duydum ... Kodumun hatasız olduğunu ve yapıldığını …

6
Turing'in “Durma problemini” çözme algoritması
Bu soru, Teorik Bilgisayar Bilimleri Yığın Değişim Borsası'ndan taşınmıştır , çünkü Bilgisayar Bilimleri Yığın Değişim Borsasında yanıtlanabilir. 7 yıl önce göç etti . "Alan Turing, 1936'da, olası tüm program giriş çiftleri için durma problemini çözmek için genel bir algoritma bulunmadığını kanıtladı. " Bazı olası program giriş çiftleri için durma problemini …

4
İki algoritmanın herhangi bir girdi için aynı sonucu döndürüp döndürmediğini nasıl kontrol edersiniz?
Tüm girişler kümesi sonsuz olduğunda, iki algoritmanın (örneğin, Birleştirme sıralaması ve Naif sıralaması) herhangi bir girdi için aynı sonucu döndürüp döndürmediğini nasıl kontrol edersiniz? Güncelleme: Ben , genel durumda bunun algoritmik olarak nasıl imkansız olduğunu anlattığınız için teşekkür ederim . Dave'in yanıtı , her zaman işe yaramayan, ancak oldukça etkili …

2
Programın Doğruluğu, Şartname
Wikipedia'dan: Teorik bilgisayar biliminde, algoritmanın bir spesifikasyona göre doğru olduğu söylendiğinde bir algoritmanın doğruluğu iddia edilir. Ancak sorun, "uygun" şartnameyi elde etmenin önemsiz bir görev olmaması ve doğru olanı elde etmek için% 100 doğru bir yöntem (bildiğim kadarıyla) olmaması, sadece bir tahmin, yani sadece "biri" gibi "göründüğü" için bir şartname …

1
Derleme zamanı garantileri için neden daha fazla araştırma yapmıyoruz?
Derleme zamanı olan her şeyi seviyorum ve bir programı derledikten sonra yürütülmesi hakkında birçok garanti verildiği fikrini seviyorum. Genel olarak konuşursak, statik tip bir sistem (Haskell, C ++, ...) herhangi bir dinamik tip sistemden daha güçlü derleme zamanı garantileri vermektedir. Anladığım kadarıyla Ada, zaman kontrolünü derleme konusunda daha da ileri …

2
Hoare tarzı doğruluk kanıtları sırasında dizilerle nasıl başa çıkılır?
Bu sorunun etrafındaki tartışmada Gilles, dizileri kullanan bir algoritmanın herhangi bir doğruluk kanıtının, sınır ötesi dizi erişiminin olmadığını kanıtlamak zorunda olduğunu; çalışma zamanı modeline bağlı olarak, bu bir çalışma zamanı hatasına veya dizi olmayan öğelere erişime neden olur. Bu tür doğruluk kanıtlarını gerçekleştirmek için yaygın bir teknik (en azından lisans …

4
Fonksiyonel kodun doğru olduğunu kanıtlamak için yaygın resmi teknikler nelerdir?
Tezimin bir parçası olarak yazdığım bir Haskell programının bölümlerine kanıt sağlamak istiyorum. Ancak şimdiye kadar iyi bir referans çalışması bulamadım. Graham Hutton'un Haskell'i öğrenirken okuduğum Haskell'deki Programlama ( Google Kitaplar ) tanıtım kitabı gibi programlar hakkında muhakeme yapmak için birkaç tekniğe değiniyor eşit muhakeme çakışan olmayan desenler kullanma liste indüksiyonu …

6
Program doğrulama teknikleri Heartbleed türünün hatalarının oluşmasını engelleyebilir mi?
Heartbleed böceğiyle ilgili olarak, Bruce Schneier 15 Nisan Kripto Gramında şöyle yazdı: “Felaket” doğru kelimedir. 1 ila 10 ölçeğinde, bu 11'dir. ' Birkaç yıl önce, belirli bir işletim sisteminin çekirdeğinin modern bir program doğrulama sistemi ile titizlikle doğrulandığını okudum. Bu nedenle, Heartbleed türünün hatalarının bugün program doğrulama tekniklerinin uygulanmasıyla meydana …

2
Birinci dereceden mantık doğrulamasına giriş
Yazılım doğrulama konusunda kendime farklı yaklaşımlar öğretmeye çalışıyorum. Bazı makaleler okudum. Öğrendiğim kadarıyla, zamansal önerme mantığı genellikle SAT çözücülerle (devam eden - reaktif sistemlerde) model kontrolü kullanır, ama ya zamansal olarak birinci dereceden Mantık? Teorem provatörleri kullanıyor mu? Yoksa SAT kullanabilir mi? Bu konuda yeni başlayanlar için kitaplara veya makalelere …
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.