Bug Nedir ? Bug Nasıl Düzeltilir ?

  • Emir Eskici
  • 25 Jan 2023
Bug Nedir ? Bug Nasıl Düzeltilir ?

İngilizce “böcek” anlamına gelen bug, ilk Defa 1878 yılında Thomas Edison tarafından bir terim olarak kullanılmıştır. 2018 yılında açık arttırma ile satılan bir mektubunda, Edison bug kelimesini tekniksel bir işlev bozukluğunu anlatmak için kullanmıştır. Bu sözcük 1800’lü yıllardan beri sistemlerde oluşan hataların tanımlanmasında terim olarak kullanılıyor. Bilgisayar işiyle uğraşanlar ise bu kelimeyi “software bug” başka bir deyişle “yazılım hatası” olarak biliyorlar.
Software Bug tanımı: Bir bilgisayar programı veya sistemde oluşan, istenmeyen/hatalı sonuçlara sebep olan yanılgı, kusur, başarısızlık veya arızanın yerine software bug denir. Bu hatanın ayıklanma ve düzeltilme işlemine ise “debugging” denmektedir. Çoğu hata bir programın kaynak kodunda veya dizaynında oluşmaktadır. Sistem üzerindeki hata miktarı öngörülenden fazlaysa ve sistemin çalışmasını etkiliyorsa buggy terimi kullanılır.

Description

İnsanların bir çoğu bug teriminin 1950’li yıllarda harbi bir böcekten geldiğini düşünmektedir. 1947 yılında Harvard Üniversitesi’nde röle anahtarına sıkışan bir güve, Amerikan Donanması’na değin Mark II bilgisayarının çökmesine sebep olmuştur. Teknisyenlerin çabasıyla çıkarılan böcek bugün dahi hayli Meşhur olsa da, bu kelimenin kökeni yukarıda da bahsettiğimiz gibi Thomas Edison’dan gelmektedir.

Yazılım Kaynaklı Bug

Bugların birçoğunun meydana gelmesinin nedeni çoğunlukla yazılımların hazırlanması aşamasında yazılımcılar tarafından yapılan veya gözden kaçan hatalardır. Genellikle her kullanıcının yaşadığı yazılımsal bug’ların giderilmesi nihayet aşama basittir. Bir yazılımda bug bulunduğunda bunu giderecek yazılımcıya erişilir. Yazılımcı kaynak kodları arasında bir inceleme gerçekleştirdikten sonra hataya neyin sebep olduğunu analiz eder ve bu hatanın çözümü için nihayet kullanıcıların yapabileceği işlemleri aktarır veya henüz otomatikleştirilmiş bir çözüm olarak yama (patch) yayınlar. Bu yamayı bilgisayarlarına yükleyen kullanıcılar kodlar üzerinde hiçbir farkındalık yapmasına lazım kalmaksızın değişiklikler otomatik olarak yapılır ve konu çözüme ulaştırılır.

Donanım Kaynaklı Bug

Son zamanlarda donanım kaynaklı bugların ortaya çıkma sayısı oldukça azalmıştır. Karmaşık yapısına rağmen geçirdiğimiz yıllar içerisinde bilgisayarlar üreticileri bilgisayarları oldukça iyi şekilde kontrol etmiş ve hangi durumlarda donanımların hatalara sebep olabileceğine ince hesaplar sonucunda ulaşmıştır. Bu nedenle donanım kaynaklı yapılan hatalar son zamanlarda artık hemen hemen yok denecek kadar az görülmektedir. Donanım üzerinde meydana gelen buglar ilk aşamada yazılımlarla giderilmeye veya optimize edilmeye çalışılır. Yazılımsal olarak sorunun giderilemediği taktirde hatalı olan donanımların tamir edilmesi veya yenisiyle değiştirilmesi gerekir.

Bug Nasıl Düzeltilir (Bug Fixed) ?

bug fixed nedir

Günümüzde bilgisayarlar, donanımlar ve bilgisayar yazılımları ne kadar mükemmelleşmiş olursa olsun, bug’sız yazılım veya donanım diye bir şey neredeyse yoktur.

Peki bu bug’ları nasıl düzeltebilir diyebilirsiniz. Yazılım bug’ları, yazılım yamaları çalıştırılarak düzeltilir ve çözülebilir; donanım bug’ları, güncellemeler ve sürücülerle giderilir. Daha ciddi donanım bug’ları olması durumunda, çözüm donanım aygıtının değiştirilmesi olabilir.

Bir bug’ı çözmek için gereken süre, karmaşıklığına, kaç geliştiriciye sahip olduğunuza ve ne kadar zamanınız bulunduğuna bağlı olarak değişir. Fakat kullanıcı olarak bir programda veya cihazda bir bug bulduğunuzu düşünüyorsanız, bug’ı üreticiye bildirmek, bug’ı çözmenin en iyi ve kolay yoludur.

Debugging (Hata Ayıklama) Nedir ?

debugging nedir

Bug’lar başlangıçta önemsiz görünebilir ancak uygulamalarda, yazılımlarda veya web sitelerinde hatalara neden olur. Bu tür hatalar arasında oturum açamama, özelliklerin çalışmaması, mavi ekranlar vb. bulunur.

Kodlama sistemi oldukça karmaşık olduğu için koddaki en ufak bir hata bile sistemdeki birçok şeyi etkileyebilir. Bu nedenle hata ayıklamaya ihtiyaç duyulur.

Debugging yani hata ayıklama, bir yazılım kodunun beklenmedik şekilde davranmasına veya çökmesine neden olabilecek mevcut ve olası bug’ları algılama ve kaldırma işlemidir. Bu süreç, yazılımın düzgün çalışmamasından sonra başlar, sorunun çözülmesi ve yazılımın başarıyla test edilmesiyle sona erer. Ancak, hata ayıklamanın tüm aşamalarında hataların çözülmesi gerektiğinden, debugging son derece karmaşık ve sıkıcı bir görev olarak kabul edilir.

Web/yazılım/uygulama geliştirme sürecinin tamamında, özellikle çok sayıda hata bulduğunuzda, hata ayıklama zaman alabilir. Bazen bir hatayı düzeltmeyi bitirdiğinizde başka bir hata ortaya çıkar. Bu durumda hatasız kod yazmak önemlidir, fakat bu neredeyse imkansızdır.

Debugging’in Faydaları Nelerdir ?

  • Hatanın erken tespiti
  • Hatadan kaçınma
  • Yararsız bilgileri azaltma
  • Hatalar yoluyla bilgisayar korsanlarının sızmasını önleme
  • Test etme zahmetinden kaçınma

Hata Ayıklama ile İlgili Adımlar ;

1. Hatayı Tanımlayın

Hatanın tanımlanması, hatanın nereden kaynaklandığını bulmak ile ilgilidir. Hatayı ne kadar çabuk tanımlarsanız, geliştirme zamanının boşa gitmemesine yardımcı olursunuz.

2. Hata Konumunu Bulun

Hatayı doğru bir şekilde belirledikten sonra, hatanın tam olarak bulunduğu yeri belirlemek için kodu incelemeniz gerekir. Bu aşamada hatayı anlamak yerine bulmaya odaklanmanız daha doğrudur.

3. Hatayı Analiz Edin

Üçüncü adımda, hata konumunda bir yaklaşım kullanmanız ve kodu analiz etmeniz gerekir. Bu, hatayı anlamanıza yardımcı olacaktır.

4. Analizi Kanıtlayın

Hatayı analiz etmeyi bitirdikten sonra, bir test yardımıyla bu alanlar için otomatik testler yaparak analizini kanıtlayın.

5. Düzeltin ve Doğrulayın

Son aşamada, tüm hataları düzelterek hepsinin geçip geçmediğini kontrol etmek için tüm test komut dosyalarını çalıştırın.

Error (Hata) Nedir? Error ile Bug Arasındaki Fark Nedir ?

error bug arasında ki fark

Error yani hata terimi, genellikle yanlış sözdizimi veya hatalı döngüler nedeniyle ortaya çıkan kodlama veya programlama hatasını ifade eder. Hatalar, dahili kod yapısındaki tutarsızlıklar veya yanlışlardan kaynaklanan kaynak kodun kendisinde ortaya çıkar. Bunlar, geliştirici tarafından yapılan yanlışlar ve gözden kaçırmalar yüzünden tetiklenen anormalliklerdir.

Bug Bir Virüs Müdür ?

Hayır. Bilgisayar virüsü, yıkıcı olacak şekilde tasarlanmış bir yazılımdır. Ancak, bir bug yalnızca koddaki bir hatadır.

Yazılım bug’ları Nasıl Oluşur ?

Birçok yazılım bug’ı; kaynak kodunda, program tasarımında, bileşenlerde veya işletim sistemlerinde yapılan hatalardan kaynaklanır. Bu tür hatalar, değişen gereksinimler, zaman baskısı veya geliştirme araçlarıyla ilgili sorunların sonucu olabilir.

Size yardımcı olmamı
ister misiniz ?