Ariane 5 roketinin ilk seferinde ( Flight 501 ) fırlatılmasından 37 saniye sonra dağılması genellikle tarih 1'deki en pahalı yazılım hatalarından biri olarak adlandırılır :
Avrupa Uzay Ajansı'nın, her lansmanda bir çift üç ton uyduyu yörüngeye çekebilecek ve Avrupa'ya ticari alan işinde ezici üstünlük sağlamayı amaçlayan dev bir roket olan Ariane 5'i üretmek 10 yıl 7 milyar dolar aldı.
Fransız Guyanası'nın mangrov bataklıklarına ateşli molozu dağıtarak, bu roketi bir dakikadan az bir süre önce ilk yolculuğuna patlatmak için gereken tek şey, 64 bitlik bir sayıyı 16 bitlik bir alana doldurmaya çalışan küçük bir bilgisayar programıydı.
Bir hata, bir çökme. Bilgisayar biliminin yıllıklarında kaydedilen tüm dikkatsiz kod satırlarından, bu en yıkıcı derecede verimli olabilir. Roket uzmanlarıyla yapılan görüşmelerden ve uzay ajansı için hazırlanan bir analizden aritmetik bir hatadan toplam yıkıma kadar açık bir yol ortaya çıkıyor.
Flight'ın 501 başarısızlığı ve müteakip araştırmalar, güvenlik açısından kritik sistemlerin ve yazılım testlerinin araştırılmasına ne gibi değişiklikler yaptı?
Hatanın kendisinin bir açıklamasını değil, hatanın tarihsel etkisinin, arızanın araştırılmasından / ilhamlarından ilham alan veya doğrudan ilgili olan araştırma açısından bir açıklama arıyorum. Örneğin bu makale şu sonuca varmıştır:
Statik analizi şu amaçlarla kullandık:
- değişkenlerin başlatılmasını kontrol edin,
- paylaşılan değişkenler için potansiyel veri erişimi çakışmalarının kapsamlı listesini sağlamak,
- Ada semantiğinden olası çalışma süresi hatalarını kapsamlı olarak listeler.
Bildiğimiz kadarıyla bu, endüstriyel programları doğrulamak için ilk kez boole tabanlı ve boole tabanlı olmayan statik analiz teknikleri kullanılır.
Benzer şekilde, bu makale (pdf) şunları not eder:
Ariane 5 başlatıcısı ve ARD'nin gömülü ADA yazılımının statik analizi için soyut yoruma dayalı statik program analizleri kullanılmıştır. Statik program analizörü, skaler ve dolum noktası üstleri, dizi indeksi hataları, sıfıra bölme ve ilgili aritmetik istisnalar, başlatılmamış değişkenler, analizör Ariane 501 uzunluk hatasını otomatik olarak bulabildi. Gömülü güvenlik açısından kritik yazılımların (aviyonik yazılım gibi) statik analizi çok umut vericidir .
Bu tek olayın yazılım test yaklaşımları ve araçları üzerindeki etkisinin tam bir açıklamasını isterim.
1 7 milyar dolarlık rakam muhtemelen Ariane 5 projesinin toplam maliyetini ifade ediyor, Wikipedia başarısızlığın 370 milyon dolardan fazla bir kayıpla sonuçlandığını bildirdi. Hala oldukça pahalı bir başarısızlık ama hiçbir yerde 7 milyar dolar rakamı.