İnternet dünyasında mutlu mutlu dolanırken girdiğiniz bir sitede
birden, oradan-buradan yüz adet pencere çıkar, tarayıcınız bir anda iptal olur
ya, bir de uygulama hatası verir ya, hatta hemen program yaratıcısına bir hata
raporu yollanmanız istenir ya üstüne bir de… Ben hep yollarım açıkçası. Tekrar
aynı hatayla karşılaştığımda ise acı gerçek -bildiğim halde – bir tokat gibi
tekrar tekrar çarpar suratıma: Evet, kimse benim hata raporlarımı önemsemiyor!
Bu hayal kırıklıklarını gidermek için, İsviçre’de bulunan
EPFL’deki (École Polytechnique Fédérale de
Lausanne-İsviçre’deki iki federal teknoloji enstitüsünden biri)
Dependable Systems Laboratuvarı yeni bir IT aracı geliştirdi: DIMMUNIX
Deadlock bağışıklığından başlayalım:
Deadlock
bağışıklığı, deadlock’tan bir kere nasibini almış programların ileride yine
karşılaşabilecekleri deadlock sorunlarını önleme yeteneğinin geliştirilmiş
halidir. Bildiğimiz bağışıklık yani.
İşte,
Dimmunix ise yazılım sistemlerine - programcılardan ya da kullanıcılardan
hiçbir desteğe ihtiyaç duymaksızın-
deadlocklara karşı bağışıklık sistemi kazandıran bir araçtır.
Dimmunix, hatalardan öğreniyor, kendi kendine yetiyor ve aynı
hatayı bir daha kesinlikle tekrar etmiyor. (Bir sürü pencerenin Web
tarayıcınıza hücum etmesi sonucu tarayıcınızın çökmesi mesela.)
Dimmunix,
EPFL’deki Dependable Systems Laboratuvarı’nda geliştirildi fakat şu anda
laboratuvarın resmi sitesinde açık kaynak olarak erişimi mümkün. Dimmunix,
teori dışında pratikte de sistemlere uygulandığında (JBoss, MySQL, ActiveMQ,
Apache HTTPD, MySQL JDBC, Java JDK, Limewire gibi) en düşük performanstayken
bile etkili bir şekilde çalıştığını kanıtladı. Örnek vermek gerekirse 100
hatanın tümünü savuşturmayı başardı. Çok iyi değil mi?
Peki nasıl işliyor?
“Başarısızlık bağışıklığı” olarak adlandırılan yaklaşım, bugla ilk
karşılaştığında çalışmaya başlıyor. Bir nevi bugın imzasını kaydediyor, daha
sonra bilgisayarın verdiği reaksiyonu gözlemliyor ve tüm bunları tek bir iz
olarak kaydediyor. (Mesela; bir Web sayfasında gezerken karşımıza çıkan bir
dosyaya tıklıyoruz, açıyoruz ve tam bu anda sayfa Flash’ı çağırıyor, o anda bir şeyler oluyor vee tarayıcımız kilitlenip
kalıyor.) Sonraki seferde ise Dimmunix aynı hatayı tanıyor, araya giriyor ve
uygulamayı sorunsuzca çalıştırıyor. Böylece o sinir bozucu deadlocklardan
kurtulmuş oluyoruz.
Dimmunix ile Web tarayıcımız virüsle karşılaştığında donup kalmamayı
öğreniyor.
Dimmunix ekibinin lideri Prof. George Candea (bir MIT ve Stanford
geçmişi olan Roman bilim adamı) sistemi, insan bağışıklık sistemine benzetiyor
ve şöyle devam ediyor:
“Vücudumuz bir kere enfekte
olduğunda bağışıklık sistemi antikor üretiyor. Sonrasında, bağışıklık sistemi
aynı patojenle bir kez daha karşılaştığında vücut onu tanıyor ve en etkili
şekilde hastalıkla nasıl savaşabileceğini biliyor. Bu da onun gibi.”
“Dimmunix, kodlanmış bir şeyi değiştirmeye ya da hataları tamir
için uğraşmıyor. Programa hiç karışmıyoruz aslında. Dimmunix’in yaptığı,
programı detay detay analiz edip, deadlocklara kapılmadan çalışması için
yönlendirmek.” diyerek devam ediyor
Candea.
Dimmunix’in son sürümü ise bir adım daha ileri gitmiş. Cloud computing
olayından esinlenerek başka bir sisteme bağlı bir merkezden aldığı bilgi ve
deneyimlerle, tamir ve bug raporlarını diğer sistemlerle paylaşabiliyor.
Tabii ki bu ortak çalışma birçok riski beraberinde getiriyor.
(Gizliliğin himayesi, daha etkili saldırılar vs.) Prof. Candea, gizlilik için endişe olmadığını çünkü
deadlock izlerinin sadece uygulamanın parmak izini taşırmışçasına
davrandıklarını, bilgi içermediklerini söylüyor.
Görüşmek üzere sevgili okurlar!
Kaynaklar: