8 puan yazan GN⁺ 2025-03-23 | 1 yorum | WhatsApp'ta paylaş
  • STPA(System Theoretic Process Analysis, Sistem Teorik Süreç Analizi), sistem ve kontrol teorisine dayalı olarak karmaşık sistemlerin kontrol-geri bildirim döngülerini modelleme yöntemidir
    • Google, STPA kullanarak yazılım sistemlerini analiz ediyor ve potansiyel riskleri ortaya çıkarıyor
  • STPA, sistem güvenliğini bir kontrol problemi olarak ele alır ve sistemin tehlikeli bir duruma düşmesine yol açabilecek tüm kontrol eylemlerini analiz eder
  • Tek tek eylemlerin sonuçlarından çok tehlikeli durumlara odaklanarak kök nedeni bulmayı hedefler
    • Tehlikeli duruma yol açan kontrol eylemleri anlaşılırsa, bunlar önlenebilir veya otomatik olarak kurtarılabilir
    • Otomatik kurtarma zor olduğunda ise insan operatör uyarılabilir

Google neden STPA eğitimini özelleştiriyor?

  • STPA sayesinde önceden fark edilmemiş sorunları önceden bulup arızaları önleyen başarılı örneklerin sayısı artıyor
  • Mevcut STPA eğitim materyalleri fiziksel sistemlere odaklandığı için yazılım ortamına uygulamak zor oluyor
  • Google'ın tamamen yazılımsal sistemlerine uygun, özelleştirilmiş bir eğitime ihtiyaç doğdu

İlk STPA eğitim denemeleri

  • İlk eğitimler 2021'den itibaren başladı (40 Google mühendisine yönelik)
  • Fiziksel sistem örnekleri kullanıldı (ör. Mars Polar Lander kazası) → yazılım mühendislerinde yeterli karşılık bulmadı
  • Google sistemlerine uygulanmış gerçek örneklere ihtiyaç olduğu fark edildi

Kontrol yapısı kavramının eğitimi

  • Kontrol yapısı(control structure), temel kontrol-geri bildirim döngülerinden oluşur
    • Kontrolör, durum değişimini yönetir → geri bildirimle durumu doğrular ve bir sonraki eyleme karar verir
  • Yazılım ortamındaki uygulama örnekleri
    • Örneğin: kullanıcı tarafından oluşturulan içerik veritabanında yanlış içeriğin silinmesi veya düzeltilmesi
    • Geri bildirim döngüsü doğru tasarlanmazsa hatalı kontrol eylemleri ortaya çıkabilir
  • Eğitimdeki zorluklar
    • Sınırlı süre içinde faydalı bir kontrol yapısı tasarımını öğretmek zor
    • Her yazılım sisteminin kontrol yapısı farklı olduğu için geri bildirim vermek zorlaşıyor

STPA eğitimini iyileştirme stratejisi

  • STPA'nın tüm adımlarını öğretmek → mühendislerin STPA'yı bağımsız olarak uygulayabilmesini desteklemek
  • Google'ın gerçek örneklerini kullanmak → teoriyi anlattıktan sonra gerçek vakalara uygulamak
  • Kontrol yapısındaki geri bildirim yollarını güçlendirmeye odaklanmak
    • Hatalı geri bildirim → hatalı kontrol eylemi → arızaya yol açan vakaların analizi
    • İnsan operatöre yeterli geri bildirim verilmemesi → tehlikeli durumların ortaya çıkması

Geri bildirimin önemi

  • Google'daki bir sistemde hatalı geri bildirim nedeniyle 30 gün sonra yanlış bir kontrol eylemi gerçekleşti → arıza oluştu
  • Bunun nedeni hem hatalı geri bildirim hem de insan operatöre yeterli geri bildirim verilmemesiydi
  • Geri bildirim tasarımı doğru yapılırsa arızalar önlenebilir
  • Ariane 5 roketinin patlaması da bir geri bildirim hatası örneğidir
    • Kayan noktalı veriyi tam sayıya dönüştürürken hata oluştu
    • Geri bildirim hatası → durumun yanlış algılanması → roket yönünde hata ve patlama

Veri akış diyagramı vs. kontrol yapısı

  • Veri Akış Diyagramı(Dataflow Diagram)
    • Verinin yazılım bileşenleri arasında nasıl hareket ettiğini gösterir
    • Geri bildirim ve kontrol yapısı net değildir
  • Kontrol Yapısı(Control Structure)
    • Kontrol eylemleri ve geri bildirimi gösterir → kontrol hiyerarşisini netleştirir
    • Geri bildirim sorunlarını bulmayı kolaylaştırır → karmaşık sistem etkileşimlerinde sorunun nedenini izlemeyi mümkün kılar

STPA'nın uygulanmasının etkileri

  • Karmaşık yazılımlarda milyonlarca satır kod içinden sorun çıkma olasılığı yüksek bölümleri birkaç yüz satıra kadar daraltır
  • Tehlikeli kontrol eylemlerini senaryolaştırarak sorunlu kodu belirlemeyi mümkün kılar
  • Gerçek vakalarda kontrol yapısı kurulduktan sonra geri bildirim eksikliği tespit edilip düzeltildi

Eğitim stratejisindeki değişim

  • Uzun eğitim sürelerinden kısa eğitim oturumlarına geçildi
    • 30 ila 60 dakikalık eğitimler → ilgili mühendisleri atölye çalışmalarına yönlendirme
  • Kendi kendine öğrenme modeli benimsendi
    • Kısa videolar + ödevler → gerçek sistemlerde STPA uygulanmasını teşvik etme
    • Uzman müdahalesi olmadan ilk STPA analizinin yapılabilmesi için eğitim güçlendirildi

Google'da STPA'yı yaygınlaştırma stratejisi

  • STPA uzmanları yetiştirmek → ekip içinde STPA'nın yayılmasını sağlamak
  • İlk başarılar → diğer ekiplere yayılım → organizasyon genelinde STPA uygulanması
  • STPA eğitimi sonrasında tasarım aşamasında risk unsurları önceden ortadan kaldırılabilir

Diğer şirketlerde de uygulanabilir

  • STPA, karmaşık yazılım sistemlerinde "önceden tanımlanmamış risk unsurlarını" bulmak için güçlü bir araçtır
  • Küçük ekiplerle başlayıp STPA uzmanlarının öncülüğünde yaygınlaştırılabilir
  • Şirkete uygun, özelleştirilmiş STPA eğitimi geliştirmek kritik önemdedir
  • İlk deneme-yanılmalardan sonra yön değiştirilebilir → sonuçta sistem kararlılığı ve güvenilirliği artırılabilir

1 yorum

 
GN⁺ 2025-03-23
Hacker News görüşleri
  • Google'da bir yazılım denetleyicisinin yanlış geri bildirim alıp tehlikeli bir kontrol eylemi gerçekleştirdiği bir vaka varmış

    • Bu eylem 30 gün sonra çalışacak şekilde zamanlanmışmış
    • Tehlikeli eylemin gerçekleşeceğine dair göstergeler varmış, ancak bunu izleyen bir mühendis yokmuş
    • Sonuçta 30 gün sonra tehlikeli kontrol eylemi gerçekleşmiş ve hizmet kesintisi yaşanmış
    • Bunun devlet veritabanının silinmesi olayı olup olmadığını merak eden bir yorum var
    • Suçlayıcı olmayan bir genelleme denemesi güzel, ancak üslup fazla abartılı olduğu için öğrenilecek pek bir şey yokmuş
  • STPA dersi iyi yapılandırılmış ve Google örneği faydalı bulunmuş

    • Ancak yazının kendisinde somut örnekler yokmuş
  • STPA, daha az belirgin hata modlarını bulmak için kullanılan bir tasarım inceleme çerçevesi

    • FMEA daha popüler, ancak yalnızca zaten bilinen hata modlarını listeliyor
    • STPA, akla gelmeyen hata modlarını tamamlıyor
  • Anlaması zor ama öğrenmek istendiğine dair bir görüş var

    • Google'da bunun belirli bir hizmete nasıl uygulandığına dair somut bir açıklama gerekiyor
    • B'nin C'den yetersiz geri bildirim almasının neden kötü olduğuna dair açıklama yetersiz kalmış
  • STPA'nın Google'da güvenilirlik sorunlarını çözdüğü gerçek bir örnek olsaydı daha ikna edici olurmuş

  • STAMP/STPA, karmaşık sistemler için bir model ve metodoloji olarak iyi çalışıyor

    • Siber risk nicemlemesiyle ilgilenenler olmuş
    • Diğer yaklaşımlar tehlikeli kontrol eylemlerini kolay anlaşılır bir modelle sunmuyor
    • Daha fazla şirketin bunu benimsemesi isteniyor
  • Sistem uzmanlarıyla iş birliği içinde kontrol yapısı kurulduktan sonra, denetleyici C'den B'ye geri bildirimin yetersiz olduğu hemen fark edilmiş

    • D üzerinden bir geri bildirim döngüsü var
    • B'den D'ye doğrudan bağlantı olmaması sorununun neden geçerli sayılmadığı merak ediliyor
    • Yeniden okuyunca dikey yönün kontrol ve geri bildirimi göstermede önemli olduğu anlaşılmış
  • Kurumsal abartı, moda sözcükler ve eski fikirleri yenilikçi göstermeye çalışma var

    • Çocukken radyo tamir etme hikâyesini STPA ile ilişkilendirmeye yönelik tuhaf bir çaba var
    • Google, STPA'yı yazılıma uygulamasını yenilik olarak sunuyor, ancak bu eski bir yöntem
    • İçeriğin çoğu geri bildirim döngüleri ve kontrol yapılarıyla ilgili temel mühendislik kavramlarından oluşuyor
    • Asıl mesaj, Google'ın bir iç eğitim programı oluşturduğu
    • Son bölüm, STPA kullanılmadan olmazmış gibi duran tipik bir kurumsal strateji havası taşıyor
  • Google'ın bir yıl boyunca elektrikli süpürge gibi uğultu çıkarıp sessiz kalmasını isteyen bir görüş var