Tweede Golf ve Microsoft panik hatalarını tespit eden Call Graph Analyzer aracını sundu
Öne çıkanlar
- CGA, monomorphized MIR aşamasından çağrı grafiği çıkararak olası panik yollarını tespit ediyor.
- Proje, Open Device Partnership kapsamında Microsoft ile işbirliği içinde geliştirildi.
- Derleme tabanlı analizi nedeniyle standart kütüphane dahil tüm harici kod tabanını tarayabiliyor.
- Kara liste özelliği sayesinde belirli sistem çağrılarının projeye sızması engellenebiliyor.
Tweede Golf, Open Device Partnership kapsamında Microsoft ile birlikte Rust kodlarındaki panik durumlarını analiz eden açık kaynaklı Call Graph Analyzer (CGA) aracını yayımladı. Geliştirilen bu araç, monomorphized MIR (Orta Seviye Temsil) yapısından çağrı grafiği çıkararak derlenmiş ikili dosyalarda hangi işlevlerin paniğe yol açabileceğini haritalandırıyor. Gömülü sistemler ve kritik servisler gibi sıfır çökme veya küçük kod boyutu gerektiren alanlar hedefleniyor.
Araç, rustc-driver mantığıyla doğrudan Rust derleyicisinin iç aşamalarına entegre oluyor. Giriş noktalarından başlayarak MIR ağacını tarayan CGA; bağımlılıklardaki ve standart kütüphanedeki gizli panik yollarını yakalayabiliyor. Geliştiriciler belirli işlevleri beyaz listeye alarak yok sayabiliyor veya kara liste tanımlarıyla ağ ve dosya sistemi gibi çağrıların kütüphaneler dahil projeye girmesini engelleyebiliyor.
Öte yandan Rust MIR yapısının kararsız bir iç aşama olması nedeniyle CGA'nın belirli bir derleyici sürümüne bağımlı kaldığı ve optimizasyon öncesi durumları incelemesi yüzünden bazı asılsız uyarılar (false positive) üretebildiği açıklandı. Çalıştırma süresinin standart kontrollere kıyasla 2 ila 3 kat daha yavaş olduğu kaydedilirken, gereksiz panik uyarılarını azaltmak için analiz sırasında seviye 2 optimizasyonun (opt-level=2) kullanılması öneriliyor.
Bu özet yapay zekâ ile hazırlanmıştır; ayrıntılar ve doğrulama için orijinal kaynağa başvurun.