Birinci dereceden mantık doğrulamasına giriş


9

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 herhangi bir işaretçi çok takdir edilmektedir.


2
Her şeyden önce CS: SE'ye hoş geldiniz. Ben bu konuda uzman olmasa da, aynı anda birçok delik bırakarak birkaç konuda kapma gibi görünüyor. Endişelenme; Onu her zaman yaparım. Yazılım doğrulamasına, ardından Resmi doğrulamaya, sonra Model kontrolü ve Resmi Yazılım Doğrulamasına
Guy Coder

Yanıtlar:


9

Birinci dereceden mantık kararsızdır, bu nedenle SAT çözme gerçekten yardımcı olmaz. Bununla birlikte, birinci dereceden formüllerin sınırlı model kontrolü için teknikler mevcuttur. Bu, formülün doğru veya yanlış olup olmadığını belirlemeye çalışırken yalnızca sabit sayıda nesnenin dikkate alınabileceği anlamına gelir. Açıkçası, bu tam değildir, ancak bir karşı örnek bulunursa, o zaman gerçekten bir karşı örnektir.

Aracı Alaşım (yüzey sözdizimi ilişkisel açıklanan modellere dayalı olsa) ve kullanım çözüm için kontrol modeli sınırlı modeller birinci dereceden mantık tarif edilecek izin veren bir araç. Kaputun altında bir SAT çözücü kullanılır. Bir alaşım uzantısı geçici bir karaktere sahip modellere izin verir, ancak teknik olarak geçici mantığı desteklemez.

Örneğin, programın doğruluğunu doğrulamak için daha fazla araştırmak isterseniz, program doğrulama araçlarına bakabilirsiniz. Bunlar genellikle Hoare mantığına dayanır (şartlar öncesi ve sonrası hakkında muhakeme için), muhtemelen Ayırma mantığı ile genişletilir (yığınlar için muhakeme için). Bu mantık genellikle kararsızdır, bu nedenle insan ve doğrulama aracı arasında belirli bir etkileşim gerekir. Bazı örnek araçlar:


10

Sorunuzu okuduktan sonra, konuları bir araya getirebilmem için yeterli bilgiye sahip olduğum tek yol, model kontrolünü ve teorem ispatını birleştirmeye çalışmakla sonuçlanan yazılım doğrulamasından detaya inen bir üst düzey makale vermekti. Umarım yorumum bunu yaptı:

Yazılım doğrulamasına, ardından Resmi doğrulamaya, sonra Model kontrolüne ve Resmi Yazılım Doğrulamasına göz atın : Model Kontrolü ve Teorem İspatlama

Dave, bu konuda da yeni olduğum için, sorunun ilk kısmına Dave'den daha fazla adalet yapamayacağım iyi bir cevap verdi.

Bu bir SE sitesinde ilk sorunuz olduğundan, cevap vermememin bir yorumu olmasının nedeni, burada bir cevabın sadece bir dizi bağlantı olmaması, ancak yazılı bir cevap vermesi ve cevabı desteklemek için bağlantılar kullanması gerektiğidir; böylece cevap yerine bir yorum.

İle ilgili olarak:

Bu konuda yeni başlayanlar için kitaplara veya makalelere herhangi bir işaretçi çok takdir edilmektedir.

Önerdiğim ve kullanacağım kitaplar:

Şu anda teorem kanıtlama üzerinde daha fazla genişleyemiyorum çünkü hala her birinin yanlısı / eksilerini ve farklılıklarını öğreniyorum, ama odaklandığım şeyler

  • HOL John Harrison'ın kitabından dolayı ışık .
  • Coq çünkü inşaatlar hesabı dayanmaktadır
  • Isabelle, çünkü daha üst düzey birleşmeye dayanıyor.

    Bu kanıt asistanlarının tipik olarak kitapları vardır, güncel, popüler, açık kaynaklıdır, sürdürülür ve aktif destek topluluklarına sahiptir.

Not: Kitaplara başvurmak için worldcat.org'u kullandım, ancak Amazon'un içeri bak özelliğini kullanarak bunları inceleyebilirsiniz.


Cevapta çok fazla düzenleme yapılmasını önlemek için, eklenen bilgileri yorum olarak bırakacağım ve daha sonra bunları cevaba ekleyeceğim. İspat asistanları arasındaki birçok benzerliği ve farklılığı çözmeye çalıştıkları için. Freek Wiedijk için Google; Makalelerini oldukça faydalı buluyorum.
Guy Coder

Ayrıntılı ve kapsamlı cevabınız için çok teşekkürler. Kitaplara yorumlarınızı eklemek ve ücretsiz kitaba bağlantı sağlamak için. Yine, sana yeterince teşekkür edemem :-)
FELIPE N.Ağustos
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.