Skip to content

COŞKUN TAŞDEMİR

Gömülü Sistemler, Elektronik, Teknoloji

Menu
  • Başlangıç
  • Tavsiyelerim
  • Gömülü Sistem Sohbetleri
  • Hakkımda
  • İletişim
Menu

İnsan öldüren yazılımlar

Posted on 30 Nisan 200803 Ağustos 2011 by ctasdemir

Bugün etrafımızda birçok sistem insan kontrolü olmadan çalışıyor. Asansörümüze binip gitmek istediğimiz katın butonuna basıyoruz ve o bizi istediğimiz kata götürüyor. Arabalarımızın motoru kendini en optimum seviyede çalışacak şekilde ayarlıyor. Otomatik kahve makinesi bizim için kahvemizi otomatik olarak hazırlıyor, hem de istediğimiz şeker seviyesiyle.

Artık uçakları, füze savunma sistemlerini de büyük oranda içlerindeki yazılımlar kontrol ediyor. Kısacası gömülü yazılımlar hayatın her alanında çalışıyorlar. Hal böyle olunca yazılımlar çok kritik roller oynuyor. Oluşabilecek hatalar can kayıplarına ve büyük hasarlara yol açıyor. Geçmişte olmuş büyük yazılım hatalarına bir göz atalım isterseniz:

Arienne 5 füzesi faciası:
4 Temmuz 1996 günü Arienne 5 füzesi fırlatıldıktan 40 saniye sonra havada infilak etti. Olayın sonrasında yapılan soruşturma sonucunda kazanın bir yazılım hatasından olduğu ortaya çıktı. Arienne 4 füzesindeki yazılım Arienne 5’e uyarlanmıştı. Modül bazında testler yapılmıştı ancak genel sistem testleri zaman sıkışıklığından dolayı tam olarak gerçekleştirilmemişti. Arienne 5 füzesinin uçuş profili Arienne 4’ten farklı olduğundan kalkıştan kısa bir süre sonra bir değişkendeki taşma sonucu kontrol sistemi devre dışı kaldı. 500 milyon dolarlık kayıba malolan bu hata tarihteki en pahalı yazılım hataları arasında yerini aldı.

Hedefi Iskalayan Patriot Füzeleri:
25 Şubat 1991 tarihinde Körfez Savaşı sürerken Amerika’nın İsrail’e yerleştirdiği Patriot füzelerinden biri Irak’tan gelen Scud füzesini ıskaladı ve bir Amerikan askeri barakasına isabet eden füze 29 Amerikan askerinin ölümüne yol açtı. Daha sonra yapılan incelemede Patriot füzelerinde zaman hesaplamasında kullanılan 24 bitlik sabit noktalı değişkende oluşan hatanın buna neden olduğu anlaşıldı. 100 saat açık kalan füze sistemindeki zaman hatası 0.34 saniyeyi bulmuştu ve bu da füzenin 500 metrelik bir sapma yapmasına neden olmuştu.

Therac-25 tedavi cihazındaki hata:
Therac-25 hastalara belirli dozlarda radyasyon uygulayarak tümörlerin yok edilmesinde kullanılan medikal bir cihazdı. Cihazın kullanımında iki farklı mod bulunuyordu: Düşük güç modu ve yüksek güç modu.Düşük güç modunda düşük seviyedeki elektron ışını hastaya direk olarak uygulanıyordu. Yüksek güç modunda ise otomatik olarak hastayla cihaz arasına metal bir plaka koyuluyordu.

Operatörün cihaza önce yanlışlıkla yüksek güç moduna geç komutu vermesi ve ardından bunu iptal edip düşük güç moduna alması sonucu cihaz bir hata mesajı verir. Aslında hata mesajı verdiği durumda sinyalin hastaya uygulanmamış olması gerekirken yüksek güçlü radyasyon hastaya uygulanmıştır. Operatörün işlemi birkaç kere tekrar etmesiyle hastaçok büyük oranda radyasyona maruz kalır. Cihazdaki hata sonucu 1985-1987 yılları arasında 6 kişi hayatını kaybetti.

Bütün bu tarihi trajedilerden gömülü yazılımların ne kadar kritik roller oynayabileceğini görmüş oluyoruz. Tabi aynı zamanda ne kadar ciddi sonuçlara yol açabileceklerini de. Günümüzde hala “hatasız yazılımlar”ın arayışı devam etmektedir.

Linkler:

http://en.wikipedia.org/wiki/Ariane_5_Flight_501

http://en.wikipedia.org/wiki/Therac-25

http://en.wikipedia.org/wiki/MIM-104_Patriot#Failure_at_Dhahran


[ad#ad-1]

2 thoughts on “İnsan öldüren yazılımlar”

  1. Coşkun Taşdemir dedi ki:
    31 Mayıs 2008, 09:14

    Dün Türksat 3A uydusunun fırlatılmasının yazılım hatasından dolayı ertelendiğini öğrendik.Yazılım hataları hala birçok projeyi tehdit etmeye devam ediyor

    Cevapla
  2. Ercan dedi ki:
    25 Temmuz 2008, 21:03

    Gömülü yazılımda, en doğru (ya da yanlışsız) olana erişmek için birçok deneme ve simülasyonun da yapılması gerekiyor. Masa başında yazılan kod için saatlerce kafa patlatıp, en sonunda “tamam, işte budur” deseniz bile, yapılan bir denemede ummadığınız bir olay cereyan edip, her şeyi mahvedebiliyor. Eminim, yukarıdaki kazaların hepsinde, programcılar, binlerce şartı düşünüp ona göre bir yazılım geliştirdiler ama iş uygulamaya gelince o binlerce şartın dışındaki bir şartın gerçekleşmesi bu kötü sonuçları doğurdu.

    Sonuç olarak, kusursuz ve sıfır hatalı bir yazılıma ulaşmak imkansız; ancak buna yüzde 99 yaklaşılabilir; bu yaklaşma da çok sık yapılan deneme ve simülasyonlarla gerçeklenebilir. Yukarıdaki gibi ölümcül kazalarla değil…

    Başarılar…

    Cevapla

Bir cevap yazın Cevabı iptal et

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

SON YAZILAR

  • Yaş 40, yolun neresi?
  • Yazılımcı mı olmak istiyorsun? Eee ol o zaman!
  • ChatGPT’den “Gömülü Yazılım Şarkısı”!
  • Acılardan arda kalan…
  • Yazılım işi zor ya da kolay mı?
  • Mühendislikte Bölüm / Alan Seçmek
  • Mühendisler neden Hollanda’ya gidiyor?
  • Şirketiniz için aradığınız “gömülü sistem mühendisini” neden bulamıyorsunuz?
  • Yeni Mezun Olmak, İşe Girmek!
  • Nesnelerin İnterneti (IOT) İş Modellerini Konuştuk

Kategoriler

  • Arduino (7)
  • ARM (18)
  • C Programlama (7)
  • Diğer (3)
  • Donanım (6)
  • Eğitim (10)
  • Genel (23)
  • Gömülü Sistemler (56)
  • Gömülü Yazılımlar (17)
  • Haberler (22)
  • Kariyer (2)
  • Kitaplar (3)
  • Mühendislik (20)
  • Nesnelerin İnterneti (6)
  • Oradan Buradan (8)
  • Robotik (2)
  • Yazılım hataları (1)

ARŞİV

Blogroll

  • Ahmet Alpat
  • Arduino Türkiye
  • Gömülü Eğitim
  • Gömülü Yazılım
©2025 COŞKUN TAŞDEMİR | Built using WordPress and Responsive Blogily theme by Superb