Bug Nedir?

Bug bilhassa yazılımla yakından ilgili olanların oldukca sık karşılaşmış olduğu bir tabir. Bug, esasen kelime olarak böcek manasına geliyor. Debugging terimi ise daha oldukca böcekten sıyrılmak ya da ayrılmak anlamını taşıyor. Peki bu şekilde bir metafor, yazılım dünyası için niçin kullanılmış dersiniz, gelin buna yakından bakalım.

bug.jpg

Bug Tarihçesi

Geçtiğimiz yüzyılın ortalarına doğru ABD’de bir askerin bilgisayarında ansızın bir arıza meydana gelir. İsmi Mark II olan bu bilgisayar, askerlerin kullandığı, oldukça büyük bir bilgisayardır. Oda büyüklüğünde olan bu bilgisayar üstünde uzun uzun araştırmalar meydana getiren o devrin uzmanları, problemi nihayet tespit ederler. Bilgisayarın arasına bir böcek sıkışmıştır ve bu durum devrelerin de yanmasına niçin olmuştur. Böcek bulunmuş olduğu yerden alınıp devreler onarım edildikten sonrasında bu devasa bilgisayar tekrardan çalışmaya adım atar.

Bilgisayardan görevli olan asker, söz mevzusu not defterine böceği yapıştırır ve altına hataya ilişkin notunu düşmüştür. Bu trajikomik durum, sonraki yıllarda tüm dünyanın kabul etmiş olduğu bir terimin doğmasına niçin olmuştur. O tarihten bugüne gelinceye dek artık bilgisayarlarda oluşan hasarlara yada hatalara bug adı verilmiştir. Söz mevzusu hataların çözüme yetişmesi ise debug şeklinde anlatılır. Hatta o defter bugün ABD’daki bir tarih müzesinde orijinal haliyle sergilenmektedir.

Günümüzde Bug

Bug, bugünün yazılım dünyasında daha çağıl bir ifade kazanmıştır. Bug için daha oldukca sistem açığı tanımını kullanmaya başlayabiliriz. Yazılım süreçlerinde kodlama hataları oldukça rutindir. Oldukca sayıda koddan meydana gelen sistemlerin bu tip hatalar barındırması da son aşama normaldir. Bug’ları yok etmenin en mühim yollarından bir tanesi güncellemelerdir. Exe dosyaları yeni güncelleme ile birlikte değişmiş olur. Bu değişim yardımıyla hatalı kod ortadan kalkar. Bu rahat yöntem Bug’un da kaybolmasını sağlar. Bug’ları genel olarak yazılım ve donanım odaklı olmak kaydıyla iki grupta ele almak mümkün.

Donanım Kaynaklı Bug

Bugün gelinen noktada donanımdan meydana gelen bugların sayısı görece daha düşüktür. Bilgisayar tasarımcıları bu süreçte bilgisayar yapılarını son aşama başarı göstermiş bir halde tahlil etmiştir. Donanıma yol açan durumlar detaylı bir halde saptanmıştır. Dolayısıyla donanımdan meydana gelen hatalar artık neredeyse yok hükmündedir. Bu da uzun devam eden çalışmaların ve negatif deneyimlerin yardımıyla bu düzeye gelmiştir diyebiliriz..

Yazılım Kaynaklı Bug

Bugünkü bugların mühim bir çoğunluğu yazılım kaynaklıdır. Yazılımcıların kişisel dikkatsizliği bunda mühim bir rol oynar. Her neyse ki yazılımdan meydana gelen bugların çözümü düşünüldüğü benzer biçimde zor değildir. Bir yazılımın içinde bug tespit ettiğiniz süre ilk yapmanız ihtiyaç duyulan fiil, üreticiye kısa süre içinde ulaşmak olmalıdır. Yazılımcılar kısa bir incelemeden sonrasında söz mevzusu hatayı tespit edecektir. Muhtemelen bu süreçte çözüm olarak bir yama yayınlayacaktır. Söz mevzusu yamayı yüklediğiniz süre başka bir değişim yapmanıza gerek duymadan çözüme kavuşabilirsiniz.

Bug daha oldukca web tabanlı uygulamaların içinde ya da direkt programlarda görülebilir. Neredeyse tüm yazılımlarda ya da kodlama süreçlerinde bug yer almıştır. Bu sistem açıklarının minik ya da büyük, bir halde çözüme oldukca açık olması en sevindirici noktadır.

Mesela oyunların içinde bazı grafik hataları ile karşılaşmak mümkündür. Bilhassa bir oyun ilk yayınlandığında ya da demo süreçlerinde bazı hatalar barındırabilir. Bunlar genel anlamda görsel, grafiksel içerikli sorunlardır. Oyun stüdyolarında üreticiler bir oyun için aylar süresince emek verebiliyor; sadece ister istemez bazı hatalar oluşabiliyor. Aslına bakarsak oyun üreticilerinin en büyük mesaisi bu bugların çözümüne ilişkin olarak gösterdikleri çabadır. Ufak hatalar bile olsalar oyun severler bu şekilde hatalar yüzünden oyundan uzaklaşabiliyor. Bu da organik olarak oyun satışlarını ciddi anlamda geriletebiliyor.

Oyun üreticileri açısından bugların bu anlamda bir kırmızı çizgi olarak görüldüğünü ifade edebiliriz. Oyunlarda yer edinen buglar rakip firmalar kadar kullanıcılar için de bir alay mevzusu olabilmektedir. Örnek vermek gerekirse FIFA ve PES rekabetine çoğu zaman buglar damga vurmaktadır. FIFA’nın bir serisinde kalecilerle ilgili mühim bir bug söz mevzusuydu. Daha eski versiyonlarda ise hakemlerle ilgili bazı hatalar oluşmuştu. Güncelleme sonrası bu tip hatalar düzeltilse dahi milyon dolarlık bir sektör olduğundan zarar epey büyük olabiliyor.

Üst bölümde bahsetmeye başladığımız bug hatalarını birazcık daha çeşitlendirelim. Mesela bir domain satın almak istediniz. Domain sürecinde karşılaşabileceğiniz ihtimaller içinde hatalar oldukça fazladır. Genel anlamda domain satışı meydana getiren firmalar ustalaşmış değildir. Hacklenme durumlarında alan adınızı kolayca kaybedersiniz. Genel anlamda açıklardan istifade edilir ve bundan dolayı bir saldırıya uğrayabilirsiniz.

Bug {Nasıl} Bulunur?

Bilhassa bir oyun yayınlandığı dönem, ilk olarak görsel hatalara odaklanılır. Kimi oyuncular söz mevzusu buglar ile karşılaşırken kimi oyuncular bire bir aynı oyunu almış olmasına karşın karşılaşmaz. Bunun teknik sebebi hakkında kati bir data söz mevzusu değildir. Bu yüzden oyunun ilk yayınlandığı dönem, tam anlamıyla bir bulgu sürecidir. Online oyun ortamlarında keşfedilen buglar için oyun üreticileri görevli tutulur. Stüdyolar bu hataları zaman geçmeden toparlamak zorundadır. Sonucunda orijinal bir oyun CD’sinin oldukça pahalı bulunduğunu hatırlatmak isteriz.

Stüdyolarda ürkü düğmesine basılır ve bugların çözümü için kolektif bir akıl devreye girer. Bu süreçte kodlayıcılar, animatörler ve ekibi oluşturan tüm personel, yoğun bir mesai harcar. Bu koordinasyon bir çok süre bugların daha süratli şekilde bulunmasını sağlar. Buglara dair geri bildirimler bir çok süre oyunculardan gelir. Esasen piyasaya sürülmeden ilkin fark edilen bir bug, o haliyle bile bile oyunculara sunulmaz. Bu yüzden ağırlıklı olarak satış sonrası geri dönüşlerden faydalanılmaktadır diyebiliriz.

Genel anlamda stüdyoda yer edinen oyun üreticileri bir sonraki oyunu oluşturma sürecine kendilerini kaptırmış olabiliyor. Oysa tam manasıyla buglara odaklanmadan yeni bir oyuna odaklanmak, bu tip süre ve saygınlık kayıplarına niçin olabilmektedir. Oyunları güncelleyerek buglardan rahatça kurtulabiliriz. Buglardan kendi çabanızla kurtulmanız olanaksızdır. Şu sebeple güncelleme, yama ya da crack denilen yöntemlerle kurtulsanız bile, sonucunda tüm bu çözüm süreçlerini oluşturan kişiler, yayıncılardır.

Yorum yapın