GitHub, yapay zekâ kod inceleyicilerinin bulduğu ve kaçırdığı sorunları karşılaştırmaya açtı
GitHub, ReviewBench araştırma önizlemesini 187 açık kaynaklı depodan seçilen 219 gerçek değişiklik isteğiyle açtı. Yapay zekâ kod inceleyicileri, sabit bir referans kümesindeki geçerli bulgular ve kaçırılan sorunlar üzerinden karşılaştırılıyor; referansta olmayan yeni bulgular ayrıca değerlendiriliyor. Yayımlanan puanlama kuralları, önem düzeyi süzgeçleri ve çalıştırma aracı katılımcıların kendi eylemcilerini denemesine olanak veriyor. Sonuçların açık sıralamaya çıkması bakımcı incelemesine bağlı.
Yapay Zekâ··Sabah
Gerçek kod değişiklikleri karşılaştırmanın temelini oluşturuyor
Yazılım geliştirme platformu GitHub, yapay zekâ kod inceleme eylemcilerini karşılaştırmak için ReviewBench’i 5 Ekim’de araştırma önizlemesine açtı. Ortak veri kümesi, 187 açık kaynaklı depodan seçilen 219 gerçek değişiklik isteğini kapsıyor. Depolardaki kodu değiştirmeyi öneren bu istekler 19 programlama dilinden geliyor. Katılımcılar yayımlanan veri kümesi, puanlama yöntemi ve çalıştırma aracıyla kendi inceleyicilerinin aynı örneklerde hangi sorunları yakaladığını deneyebiliyor. GitHub, dil ve depo boyutunun yanı sıra değişikliklerin kapsamına ilişkin dağılımları kurmak için 103,9 milyon değişiklik isteğini analiz ettiğini belirtti. Seçimde küçük, tek dosyalı düzenlemelerin ağırlığı azaltıldı; birden çok dosyayı kapsayan daha geniş değişikliklere yer açıldı.[1], [2]
Bilinen sorunlar ve yeni bulgular ayrı puanlanıyor
Referans kümesi insan incelemelerini, kod yazarlarının sonraki düzeltmelerini, belirleyici analiz araçlarını ve farklı model ailelerinin bulgularını birleştiriyor. Aynı sorunu anlatan bulgular tekilleştiriliyor. Bir sorunun geçerli sayılması için doğru, ilgili ve önemsiz olmayan bir konuya işaret etmesi gerekiyor. Claude Sonnet 5 modeli, yayımlanan kurallara göre hakemlik yapıyor. GitHub’ın açıkladığı iç denetimde, veri kümesini hazırlamayan kıdemli mühendisler referans bulgularını bağımsız biçimde yeniden etiketledi. Bulgular doğruluk, güvenlik, güvenilirlik, bakım kolaylığı ve test gibi kategorilere ayrılıyor. Her bulgu için önem düzeyi de belirleniyor.[1], [2]
Kesinlik, inceleyicinin bildirdiği sorunların ne kadarının geçerli olduğunu gösteriyor. Duyarlılık ise bilinen geçerli sorunların ne kadarının bulunduğunu ölçüyor; F1 bu ikisine eşit ağırlık veriyor. Temel ölçümler sabit referans kümesini kullanırken genişletilmiş ölçümler kümenin dışındaki geçerli yeni bulgulara da puan veriyor. GitHub, eylemciler arasındaki ana duyarlılık karşılaştırmasında sabit referansı koruyor. Genişletilmiş duyarlılığın paydası, her eylemcinin yeni bulgularıyla değişiyor. Kullanıcılar F-beta ayarıyla daha geniş kapsama veya daha az yanlış alarma ağırlık verebiliyor. Sonuçları önem düzeyine ya da sorun kategorisine göre de süzebiliyorlar.[1], [2]
Gönderilen sonuçlar bakımcı incelemesine kadar özel kalıyor
Katılımcılar inceleyicilerini bir kapsayıcı imajı, yapılandırma ve kendi model anahtarlarıyla kaydediyor. Önce 25 değişiklik isteğinden oluşan deneme kümesi kullanılabiliyor; ardından 219 isteğin tamamında üç tur çalıştırılıyor. Gönderilen sonuçlar bir bakımcı tarafından incelenene kadar özel kalıyor. Eylemcinin ilk sonucu veya daha önce yayımladığı puanı aşan bir sonuç, bu incelemenin ardından açık sıralamada yer alabiliyor. GitHub, çevrimdışı değerlendirme göstergelerini Copilot’un üretim deneyleriyle karşılaştırdığını da belirtti. Bu doğrulama açıklaması değerlendirmeyi geliştiren şirkete ait.[1], [2]