Akıllı sözleşme denetimi yaptırdık: maliyet, süre ve bulunan 11 bulgunun dağılımı
Kapsam. Dört sözleşme, toplam yaklaşık 900 satır. Denetim kapsamına sözleşmelerin kendisi, kullanılan kütüphaneler ve dağıtım betikleri dahil edildi.
Maliyet ve süre. Üç firmadan teklif aldık, fiyatlar ciddi biçimde farklıydı ve kapsam tanımları da farklıydı. Seçtiğimiz firma iki haftalık bir süre verdi ve bu süreye düzeltme sonrası tekrar inceleme de dahildi. Satır başına fiyat mantığıyla çalışıyorlar, yani kodunuz ne kadar sadeyse o kadar ucuza geliyor. Denetime girmeden önce ölü kodu ve kullanılmayan fonksiyonları temizlemek, doğrudan para tasarrufu demek.
Bulguların dağılımı. 11 bulgu geldi: 1 kritik, 2 yüksek, 4 orta, 4 düşük ve bilgilendirme.
Kritik bulgu, bir fonksiyonda erişim kontrolünün eksik olmasıydı. Fonksiyon yönetici işlevi görüyordu ama değiştirici eklenmemişti. Kodu üç kişi okumuştu ve kimse görmemişti. Denetimin tek başına bedelini çıkaran bulgu buydu.
Yüksek bulgular: biri yeniden giriş riskiydi, dış çağrıdan önce durum güncellemesi yapılmıyordu. Diğeri bir hesaplamada sıralama hatasıydı ve belirli koşullarda hassasiyet kaybına yol açıyordu.
Orta ve düşük bulgular daha çok iyileştirme önerileriydi: olay yayınlamanın eksikliği, gereksiz depolama okumaları, hata mesajlarının belirsizliği, dokümantasyon eksikleri.
Denetimden öğrendiklerimiz.
Birincisi, denetim bir garanti değil. Rapor bunu açıkça yazıyor. Denetimden geçmiş sözleşmelerde sonradan sorun çıkabiliyor.
İkincisi, denetim öncesi hazırlık kaliteyi belirliyor. Denetçiye iyi bir dokümantasyon, test seti ve tasarım açıklaması verirseniz zamanlarını gerçek sorunları aramaya harcıyorlar. Vermezseniz zamanlarının yarısı kodu anlamaya gidiyor.
Üçüncüsü, kendi testlerinizi yazın. Denetimden önce kapsamlı bir test seti hazırlamıştık ve bu süreçte kendimiz üç hata bulduk. Denetim, test yerine geçmiyor.
Dördüncüsü, düzeltmeleri aceleye getirmeyin. Düzeltme sırasında yeni hata üretmek çok yaygın. Her düzeltme için ayrı bir test yazdık.
Beşincisi, raporu yayımlayın. Kullanıcı güveni için denetim raporunu ve düzeltilmiş bulguların durumunu açıkça paylaşmak doğru yaklaşım.
Denetim yaptıran var mı, sizde bulgu dağılımı nasıldı?



@burakdmrts