Anthropic’in Frontier Red Team ekibi ile biçimsel yöntemler alanında çalışan Theorem, Claude’un 123 açık kaynak kütüphanesindeki 239 fuzz testi giriş noktası için makineyle kontrol edilmiş kanıtlar ürettiğini bildirdi. Kanıtlar, belirli koşullar altında derlenmiş RISC-V programlarının çökme ve bellek güvenliğiyle ilgili özelliklerini kapsıyor; kütüphanelerin her sürümünün ve kullanım biçiminin hatasız olduğunu göstermiyor.
9
5
Ölçek dikkat çekici: Ekip, çalışmanın birkaç hafta sürdüğünü ve yaklaşık 180 milyon satır Rocq kanıt kodu oluşturduğunu söylüyor. Daha geniş anlamı, yapay zekâ desteğiyle biçimsel doğrulamanın gerçek yazılımlarda daha yaygın uygulanabilmesi. Ancak sonuçları değerlendirirken kanıtların tam olarak neyi, hangi varsayımlar altında doğruladığını göz önünde bulundurmak gerekiyor.
3
13
Kanıtlar tam olarak neyi kapsıyor?
Anthropic’e göre kanıtlar, incelenen programların 64 MB’tan küçük her girdi için normal biçimde sonlandığını; bellek güvenliği hatalarına veya başarısız iddialara yol açmadığını gösteriyor. Bu sonuç, modellenmiş Linux yanıtları ve bellek düzenleri için, belirtilen varsayımlar çerçevesinde geçerli. İncelenen hedefler derlenmiş RISC-V programları; her kütüphanenin her sürümüne veya dağıtım biçimine ilişkin genel bir güvence değil.
9
12
Ekip, Google’ın OSS-Fuzz projesinde kullanılan mevcut test giriş noktalarını biçimsel belirtimlere dönüştürdü. Fuzz testi çok sayıda girdiyi deneyerek sorun ararken, Claude bu belirtimlerde tanımlanan girdi aralığı için programın davranışına dair kanıtlar üretti.
3
13
Anthropic, çalışmayı üretim yazılımlarını assembly düzeyinde yapay zekâ yardımıyla biçimsel olarak doğrulamaya yönelik ilk büyük ölçekli girişim olarak nitelendiriyor. Bu, projeyi yürüten ekibin yenilik iddiası; bağımsız biçimde doğrulanmış tarihsel bir uzlaşı olarak sunulmamalı.
7
13
Rocq denetimi neden önemli?
Kanıtları Claude üretti, Rocq’nun kanıt çekirdeği ise bunları kontrol etti. Böylece kanıtın mekanik olarak doğrulanması için Claude’un akıl yürütmesine güvenmek ya da geliştiricilerin her satırı tek tek incelemesi gerekmiyor. Yine de bazı varsayımlar geçerliliğini koruyor: Teorem, geliştiricilerin önem verdiği özelliği doğru biçimde ifade etmeli; biçimsel modeller ve denetleyici de güvenilir kabul edilen temelin parçası.
9
5
Anthropic ve diğer haber kaynakları, toplam çıktıyı yaklaşık 180 milyon satır Rocq kanıt kodu, ikili program başına ortalama çıktıyı da kabaca 600 bin satır olarak aktarıyor. Bu hacim çalışmanın ölçeğini gösteriyor; ancak satır sayısı tek başına kanıtın hangi koşullarda geçerli olduğunu veya bir projenin üretim ihtiyaçlarına uyup uymadığını anlatmıyor.
3
12
Testlerin gözden kaçırabildikleri
Fuzz testi çok sayıda girdiyi deneyebilir, ancak tek başına tanımlı bir alandaki her olası girdiyi kapsadığını kanıtlamaz. Çalışmaya ilişkin haberlerde Claude’un yüzlerce hatayı bulup düzelttiği, bunlar arasında trilyonlarca fuzz testi çalıştırmasına rağmen gözden kaçmış sorunların da bulunduğu aktarılıyor. Bu rakamlar projeye dair bildirilmiş sonuçlar; biçimsel doğrulamanın başka projelerde testlerden ne sıklıkla daha başarılı olacağını gösteren bağımsız bir ölçüm değil.
2
11
Buradan çıkarılacak sonuç testleri bırakmak değil. Biçimsel kanıt, farklı türde bir güvence ekleyebilir: Belirtilen özellik ve kapsam içinde, şartnameye uyan tüm girdiler için davranışı ortaya koyabilir; testler ise yalnızca çalıştırılmış örnekleri sınar.
9
2
“Doğrulandı” demek “hatasız” demek değil
Güvenceler seçilmiş giriş noktaları ve belirli derlenmiş programlar için geçerli. Bunlar, kütüphanedeki her işlevi, derleme ayarını, mimariyi veya kullanım biçimini otomatik olarak kapsamaz.
9
5
Çalışmanın koşulları da önemli. Kaynaklardaki aktarımlara göre kanıtlar, modellenmiş Linux ortamında çalışan tek iş parçacıklı, statik RISC-V ikili programlarını ve sabit bir bellek bütçesini varsayıyor. Yazılımların çoğu başka mimari veya yapılandırmalar için derlendiğinden sonuçları bu dağıtımlara yönelik garanti gibi okumamak gerekir.
12
27
34
Son olarak, kanıt bir teoremin doğru olduğunu gösterir; geliştiricinin isteyebileceği her özelliği değil. Kanıtın kapsamı dışında kalan hatalar bulunabilir. Sonuç ayrıca biçimsel modellere ve kanıt denetleme altyapısına dayanır.
5
31
Geliştiriciler için pratik karşılığı
Çalışmanın temel katkısı, yapay zekâ desteğinin assembly düzeyinde biçimsel doğrulamayı gerçek yazılımlarda daha geniş ölçekte uygulanabilir kılabileceğine dair bir örnek sunması. Ancak çalışma, her kod tabanında aynı yöntemin başarılı olacağını veya maliyetin ne olacağını garanti etmiyor.
7
13
Kanıtların bir bölümü kamuya açıklandı. Bir habere göre yayımlanan kısım, projenin tamamı değil; 25 kütüphane ve 60 giriş noktasını kapsıyor. Theorem ayrıca açık kaynak projelerin bakımcılarına yönelik OSS Verify programını duyurdu.
32
16
38
Geliştiriciler için doğru yaklaşım, kanıtı kapsamı belli bir güvence olarak değerlendirmek: Ona dayanmadan önce tam giriş noktasını, derlenmiş programı, varsayımları ve doğrulanan özelliği kontrol etmek. Bu çalışma, LLM destekli biçimsel doğrulamayı testlerin yanında değerlendirmeye değer kılıyor; testleri bırakmaya ya da yazılımın hatasız olduğunu varsaymaya değil.
9
5