Tüm zamanların 10 en kötü yazılım hatası:
* 28 Temmuz 1962 — Mariner 1 Uzay Roketi: Mariner 1′in uçuÅŸ yazılımındaki bir hata fırlatma sırasında roketin
istenen yörüngeden ayrılmasına yol açtı. Kontrol yönetimi tarafından roket Atlantik Okyanusu’nda yok
edildi. Kazayla ilgili inceleme yapıldığında, bir kâğıda kurşun kalemle yazılmış bir formülün bilgisayara yanlış
geçirilmiş olduğu ortaya çıktı. Böylece bilgisayar roketin yörüngesini yanlış hesaplamıştı.
* 1982 — Sovyet Gaz Hattı: Söylentiye göre, CIA’e baÄŸlı çalışan operatörler Sibirya gaz hattını kontrol etmek
üzere satın alınan Kanada bilgisayar sistemine bir böcek yerleÅŸtirdiler. Sovyetler BirliÄŸi’nin bu sistemi hassas
ABD teknolojisini gizlice satın alma ya da çalma çabalarının bir parçası olarak aldığı iddia ediliyordu.
Yine söylentiye göre, CIA, programı keşfetti ve onun geri tepmesini sağlamaya karar verdi. Bunun için Sovyet
incelemesinden geçecek, ama sonunda işletme anında başarısız kalacak bir ekipmanı araç olarak kullandı.
Böylece gezegenin tarihinde en büyük nükleeer olmayan patlama meydana geldi.
* 1985-1987 — Therac-25 Tıp Kazası: Bir radyasyon terapi cihazı hatalı çalıştı ve çeÅŸitli tıbbi tesislerde
ölümcül düzeyde radyasyon verdi. Daha önceki bir tasarım geliştirilerek üretilen Therac-25 iki farklı
tür radyasyon verilen “ileri” bir terapi sistemi idi. Ya düşük güçlü elektron ışını (beta parçacıklar) veya
X-ışınları veriyordu. Therac-25′in X-ışınları yüksek güçlü elektronların elektron silahı ile hasta arasına
yerleÅŸtirilmiÅŸ bir metal hedefe çarptırılmaları ile oluÅŸturuluyordu. İkinci bir “ilerleme” de eski Therac-20
nin elektromekanik güvenlik bağlantılarının yazılım kontrolüyle yapılmasıydı. Bu karara yazılımın daha
güvenli olduÄŸu düşüncesiyle varılmıştı. Mühendislerin bilmediÄŸi ÅŸey hem 20 hem 25′in hiçbir resmi eÄŸitimi
olmayan bir programcı tarafından yazılmış olduklarıydı. Bir görünmez hata nedeniyle, hızlı yazan bir klavye
kullanıcısı kaza yaparak Therac-25′in elektron ışınını yüksek enerjili modda, fakat metal hedef yerinde
olmadan, hastaya gönderecek şekilde çalışmasına yol açabilirdi. Böyle oldu ve en az 5 hasta öldü başkaları
ciddi şekilde yaralandı.
*1988 — Berkeley Unix Sisteminde Tampon Bellek TaÅŸması:
Adına Morris Worm denen ilk İnternet solucanı bir tampon bellek yetersizliği sorunundan yararlanıp, bir günden az
bir zaman içinde, 2000-6000 arası bilgisayara bulaştı. Bu konuyla ilgili kod gets() olarak ifade edilen bir
standart girdi-çıktı kütüphanesi fonksiyonuydu. Bu fonksiyon ağ üzerinde bir metin satırı okur. Maalesef
gets() fonksiyonunun girdiyi sınırlamayla ilgili bir kontrolü yoktur ve çok büyük bir girdi solucanın
bağlanabildiği makinayı kontrolüne almasını sağlayabilir. Programcılar çalışan koddaki gets() fonksiyonunu kullanım dışı bıraktılar; ama onu C programlama dilinin standart girdi-çıktı kütüphanesinden çıkarmayı kabul etmediler.
*1988-1996 — Kerberos Rasgele Sayı Üreticisi Kazası:
Kerberos güvenlik sisteminin yazarları, programın rasgele sayı üreticisini uygun bir parametreyle
beslemeyi ihmal edince, yetkilendirme için Kerberos’a dayanan bir bilgisayara izinsiz giriÅŸ yapmak mümkün hale
geldi.
* 15 ocak 1990 — AT&T Bilgisayar Ağı Kazası: AT&T’nin #4ESS uzun mesafe ÅŸalterlerini kontrol eden yazılımının
yeni sürümündeki bir görünmez hata, bu dev bilgisayarların komşu makinaların birinden belirli bir
mesaj almaları durumunda çökmelerine neden oldu. Bu mesaj çevre makinaların çökme durumundan
kurtulduklarında gönderdikleri mesajdı. Bir gün bir şalter sistemi çöktü ve yeniden çalışmaya başladı. Komşu
şalterler ve onlara komşu başka şalterler de çöktü. Kısa süre sonra, her 6 saniyede 114 şalter çöküp yeniden
çalışmaya başlar hale geldi. Böylece 9 saat boyunca 60 bin kadar kişi uzun mesafeli servis kullanamaz hale
geldi. Sonuçta mühendisler yazılımın eski sürümünü yüklediler.
* 1993 — Intel Pentium İşlemcide Sorun: Bir silikon hatası Intel Pentium bilgisayar yongasının belli bir
büyüklük aralığındaki ondalıklı sayıları bölerken hata yapmasına yol açıyordu. Örneğin 4195835.0 / 3145727.0
sonucu 1.33382 yerine 1.33374 olyordu. Bu yüzde 0.006 lık bir hataydı. Bu görünmez hata az sayıda kullanıcıyı
etkiledi, ama halkla ilişkiler kâbusuna neden oldu. Piyasaya sürülmüş 3- 5 milyon arası yonga vardı. Başlangıçta
Intel daha hassas hesaplamalara ihtiyacı olduğunu kanıtlayanlar için yonga değişişkliği yapmayı önerdi;
ama sonunda teslim oldu, şikâyet eden herkesin yongasını değiştirmeyi kabul etti. Sonunda bu görünmez hata
Intel’e 475 milyon dolara maloldu.
* 1995/1996 — Bilgisayar Ağı Kontrol Komutlarında
Sorun: İnternet BaÄŸlantı Noktası numaraları (IP) ile ilgili bir koddaki hata, doÄŸru yazılmamış bir “Ping”
komutunun İnternet üzerinde herhangi bir yerden gönderilmesi sonucunda, çeşitli işletim sistemlerindeki
bilgisayarların çökmesine yol açıyordu. En çok etkilenenler Windows kullanan bilgisayarlardı. Bu
bilgisayarlar iletiÅŸimde Ping paketi aldıklarında kilitleniyor ve “mavi ölüm ekranını” getiriyorlardı.
Sorun birçok Macintosh ve Unix sistemini de etkiledi.
* 4 Haziran 1996 — Ariane 5 Flight 501: Ariane 4 roketinin çalışma kodu Ariane 5′te yeniden
kullanılmıştı. Fakat Ariane 5′in daha hızlı olan motoru, roketin uçuÅŸ bilgisayarındaki bir aritmetik iÅŸlemde bir
hatanın ortaya çıkmasına yol açıyordu. Hata, bilgisayar ifadeleriyle, 64 bitlik ondalıklı sayıyı 16 bitlik
iÅŸaretli tam sayıya dönüştüren kodda idi. Daha hızlı motor 64 bitlik sayıların Ariane 5′te, Ariane 4 de
olduÄŸundan daha büyük olmasına yol açıyor ve böylece sayısal taÅŸma durumuna sebep oluyur, o da uçuÅŸ bilgisayarının çökmesini getiriyordu. Flight 501′in destek bilgisayarı çöktü, 0.05 saniye sonra da ana bilgisayar çöktü. Çöken bilgisayarlar sonucu, roketin ana iÅŸlemcisi motorlara aşırı güç yüklenmesine yol açtı ve roket, fırlatıldıktan
40 saniye sonra, parçalandı.
* Kasım 2000 — National Cancer Institute, Panama: Bir dizi kaza sonucu bir ABD firması olan Multidata Systems International tarafından yazılmış olan terapi planlama yazılımı, radyasyon terapisine girecek hastaya
yollanacak uygun radyasyon dozunu yanlış hesapladı. Multidata’nın yazılımı bir radyasyon terapistinin,
“blok” denen, saÄŸlam dokuların radyasyondan korunmasını saÄŸlayan metal kalkanın yerini bilgisayar ekranında
belirlemesine olanak veriyordu. Ancak yazılım teknisyenin yalnızca 4 koruyucu blok kullanmasına izin veriyor, Panamalı doktorlar ise 5 koruyucu blok kullanmak istiyorlardı. Doktorlar 5 blokun hepsini ortada bir deliği olan tek bir büyük blok gibi çizerek yazılımı kandırabileceklerini keşfettiler. Doktorların kavramadıkları şey, bu kurulumda Multidata yazılımının, deliğin nasıl çizildiğine bağlı olarak, farklı yanıtlar verdiği idi. Deliği bir yönde çizdiğinizde doğru doz hesaplanıyor, başka yönde çizdiğinizde yazılım gerekli dozun iki katını tavsiye ediyordu. En az 8 hasta öldü, 20 başka hasta da önemli sağlık sorunları çıkaracak ölçüde aşırı dozda radyasyon aldı. Yasal olarak, bilgisayarın
hesaplarını elle yapacakları hesapla çift kontrolden geçirmeleri gereken doktorlar cinayetle suçlandı.
Kaynak : Haber7.com
