İçeriğe atla

Yazılım hatası

Yazılım hatası (bug), bir bilgisayar programının veya yazılım sisteminin yanlış veya beklenmeyen bir sonuç üretmesine ve istenmeyen şekillerde davranmasına neden olan bir hata, kusur ya da arızadır. Hataları bulma ve düzeltme süreci "hata ayıklama" olarak adlandırılır ve genellikle hataları saptamak için resmi teknikler veya araçlar kullanır. 1950'lerden bu yana bazı bilgisayar sistemleri, yapılan işlemler sırasında çeşitli bilgisayar hatalarını caydırmak, tespit etmek veya otomatik olarak düzeltmek için tasarlandı.[1][2]

Hataların çoğu, bir programın tasarımında, kaynak kodunda ya da bu tür programlar tarafından kullanılan bileşenlerde ve işletim sistemlerinde yapılan hata ve hatalardan kaynaklanır. Geri kalan kısmı derleyicilerin hatalı kod üretmesinden kaynaklanır. Çok sayıda hata içeren ve/veya işlevselliğini ciddi şekilde aksatan hatalar içeren bir programın "buggy" (arızalı) olduğu söylenir. Hatalar, dalga etkisi yapabilecek hataları tetikleyebilir. Hataların hemen fark edilmeyen etkileri olabilir veya programın çökmesine/bilgisayarın donmasına neden olabilir. Diğer hatalar güvenlik hataları olarak nitelendirilir ve örneğin, kötü niyetli bir kullanıcının yetkisiz ayrıcalıklar elde etmek için erişim kontrollerini atlamasını sağlayabilir.[3]

Orta İngilizce'de bugge kelimesi, yaratıklar için kullanılan terimler olan "bugbear" ve "bugaboo" kelimelerinin temelini oluşturmaktadır.[4] Kusurları tanımlamak için kullanılan "bug" ("böcek") terimi, elektronik bilgisayarlar ve bilgisayar yazılımlarından daha eskidir ve 1870'lerden beri mühendislik jargonunun bir parçasıdır; terimin ilk kullanım alanı, donanım mühendisliğindeki mekanik arızaları tanımlamak olarak tahmin edilmektedir. 1878'de Thomas Edison, bir iş arkadaşına yazdığı mektupta tekniksel bir işlev bozukluğunu anlatmak için "bug" kelimesini kullandı.[1][5][6][7]

Kaynakça

  1. ^ a b "Bug ne demek? Bug kelimesi nasıl ortaya çıktı?". ShiftDelete.net. 18 Haziran 2018 tarihinde kaynağından arşivlendi. Erişim tarihi: 11 Haziran 2021. 
  2. ^ "Bug ne demek? Bug nedir?". Hürriyet. 11 Haziran 2021 tarihinde kaynağından arşivlendi. Erişim tarihi: 11 Haziran 2021. 
  3. ^ Mittal, Varun; Aditya, Shivam (1 Ocak 2015). "Recent Developments in the Field of Bug Fixing". Procedia Computer Science. International Conference on Computer, Communication and Convergence (ICCC 2015) (İngilizce). 48: 288-297. doi:10.1016/j.procs.2015.04.184. ISSN 1877-0509. 30 Nisan 2021 tarihinde kaynağından arşivlendi. Erişim tarihi: 10 Haziran 2021. 
  4. ^ Computerworld staff (3 Eylül 2011). "Moth in the machine: Debugging the origins of 'bug'". Computerworld (İngilizce). 25 Ağustos 2015 tarihinde kaynağından arşivlendi. 
  5. ^ "Did You Know? Edison Coined the Term "Bug"" (İngilizce). 1 Ağustos 2013. 19 Temmuz 2019 tarihinde kaynağından arşivlendi. Erişim tarihi: 19 Temmuz 2019. 
  6. ^ Edison'dan Puskas'a. 13 Kasım 1878. Edison evrakları. Thomas Edison Ulusal Tarihi Parkı. Millî Park Hizmeti. West Orange, N.J.
  7. ^ Hughes, Thomas Parke (1989). American Genesis: A Century of Invention and Technological Enthusiasm, 1870-1970 (İngilizce). Penguin Books. s. 75. ISBN 978-0-14-009741-2. 15 Ağustos 2021 tarihinde kaynağından arşivlendi. Erişim tarihi: 26 Ekim 2022. 

İlgili Araştırma Makaleleri

<span class="mw-page-title-main">Bilgisayar mühendisliği</span> bilgisayar donanımı ve yazılımı geliştirmek için bilgisayar bilimi ve elektrik mühendisliğini entegre eden disiplin

Bilgisayar mühendisliği temel olarak yazılım, programlama ve algoritma ile ilgilenir. Bilgisayar ağları, veri tabanı yöneticiliği ve gömülü sistemler de diğer çalışma alanlarıdır.

<span class="mw-page-title-main">Bilgisayar bilimi</span> belirli evren kurallarına dayalı, sistematik çalışan ve elementlerin ya da ağların birbirleriyle olan ilişkisi

Bilgisayar bilimi, bilgisayarların tasarımı ve kullanımı için temel oluşturan teori, deney ve mühendislik çalışmasıdır. Hesaplamaya ve uygulamalarına bilimsel ve pratik bir yaklaşımdır. Bilgisayar bilimi; edinim, temsil, işleme, depolama, iletişim ve erişimin altında yatan yönteme dayalı prosedürlerin veya algoritmaların fizibilitesi, yapısı, ifadesi ve mekanizasyonunun sistematik çalışmasıdır. Bilgisayar biliminin alternatif, daha özlü tanımı "büyük, orta veya küçük ölçekli algoritmik işlemleri otomatikleştirme çalışması" olarak nitelendirilebilir. Bir bilgisayar bilimcisi, hesaplama teorisi ve hesaplama sistemlerinin tasarımı konusunda uzmanlaşmıştır.

Bilişim, bilişim bilimi ya da bilgisayar bilimi, bilgi ve hesaplamanın kuramsal temellerini ve bunların bilgisayar sistemlerinde uygulanabilmeleri sağlayan pratik teknikleri araştıran bir yapısal bilim dalıdır. Bilişimciler ya da bilgisayar bilimcileri bilgi oluşturan, tanımlayan ve dönüştüren algoritmik süreçler icat edip, kompleks sistemleri tasarlamak ve modellemek için uygun soyutlamalar formüle ederler. Bilişim Dünya'da hızla gelişmeye devam eden önemli bir teknolojidir.

<span class="mw-page-title-main">Yapay zekâ</span> insani zekaya sahip makine ve yazılım geliştiren bilgisayar bilimleri dalı

Yapay zekâ ya da kısaca YZ,, insanlar da dahil olmak üzere hayvanlar tarafından, doğal zekânın aksine makineler tarafından görüntülenen zekâ çeşididir. İlk ve ikinci kategoriler arasındaki ayrım genellikle seçilen kısaltmayla ortaya çıkar. Güçlü yapay zeka genellikle Yapay genel zekâ olarak etiketlenirken, doğal zekayı taklit etme girişimleri yapay biyolojik zekâ olarak adlandırılır. Önde gelen yapay zeka ders kitapları, alanı zeki etmenlerin çalışması olarak tanımlar: Çevresini algılayan ve hedeflerine başarıyla ulaşma şansını en üst düzeye çıkaran eylemleri gerçekleştiren herhangi bir cihaz. Halk arasında, yapay zekâ kavramı genellikle insanların insan zihni ile ilişkilendirdiği öğrenme ve problem çözme gibi bilişsel eylemleri taklit eden makineleri tanımlamak için kullanılır.

<span class="mw-page-title-main">Yazılım</span> bilgisayarın somut olmayan çalıştırılabilir bileşeni

Yazılım, değişik ve çeşitli görevler yapma amaçlı tasarlanmış elektronik aygıtların birbirleriyle haberleşebilmesini ve uyumunu sağlayarak görevlerini ya da kullanılabilirliklerini geliştirmeye yarayan makine komutlarıdır.

Koç Üniversitesi, 1993 yılında İstanbul'da eğitime başlamış olan bir vakıf üniversitesidir. Faaliyetlerine 400 öğretim üyesi ve yaklaşık 6900 öğrenciyle devam etmektedir. Üniversite; İnsani Bilimler ve Edebiyat, İktisadi ve İdari Bilimler, Fen, Mühendislik, Hukuk, Tıp ve Hemşirelik Fakülteleri'nde 22 lisans, 32 yüksek lisans ve 26 doktora programı ile eğitim vermektedir.

Bellek bilgisayarı oluşturan 3 ana bileşenden biridir.. İşlemcinin çalıştırdığı programı, lar ve programa ait bilgiler bellek üzerinde saklanır. Bellek geçici bir depolama alanıdır. Bellek üzerindeki bilgiler güç kesildiği anda kaybolurlar. Bu nedenle bilgisayarlarda programları daha uzun süreli ve kalıcı olarak saklamak için farklı birimler mevcuttur.

<span class="mw-page-title-main">Hacker</span> bilgisayar alanında uzmanlaşmış kişi

Hacker ya da bilgisayar korsanı, hedefine standart dışı yollarla ulaşan, bilgi teknolojisi alanında yetenekli kişidir. Terim, popüler kültürde bilgisayar sistemlerine girmek ve normalde erişemeyecekleri verilere erişmek için hata veya açık bilgisine sahip bir kişiler olan güvenlik korsanları ile ilişkilendirilmiştir. Hack kavramının olumlu bir örneği ise yasal durumlarda meşru kişiler tarafından da kullanılmasıdır. Örneğin, kolluk kuvvetleri bazen suçlular ve diğer kötü niyetli kişiler hakkında delil toplamak için bilgisayar korsanlığı tekniklerini kullanır. Bu teknikler arasında kimliklerini çevrimiçi ortamda maskelemek ve suçlu gibi davranmak için anonimlik araçlarını kullanmak yer almaktadır. Benzer şekilde, gizli istihbarat teşkilatları da işlerini yasal olarak yürütürken bilgisayar korsanlığı tekniklerini kullanabilirler. Bilgisayar korsanlığı ve siber saldırılar, kolluk kuvvetleri ve güvenlik kurumları tarafından yasa dışı ve yasadışı olarak kullanılmakta ve devlet aktörleri tarafından yasal ve yasadışı savaşın bir silahı olarak kullanılabilir.

<span class="mw-page-title-main">Daktilo</span>

Daktilo ya da yazı makinesi, bir klavye aracılığıyla harekete getirilen harfleri mürekkepli bir sistem yardımıyla kağıda basarak yazı yazan makine.

<span class="mw-page-title-main">Elektrik mühendisliği</span> elektrik, elektronikle ilgili mühendislik disiplinleri

Elektrik Mühendisliği veya Elektrik-Elektronik Mühendisliği; elektrik, elektronik ve elektromanyetizma üzerine çalışan ve bunları kullanarak çeşitli donanım ve sistemlerin tasarımı ve geliştirilmesi ile ilgilenen kapsamlı bir mühendislik disiplinidir. 19.yüzyıldan itibaren telefon, telgraf, elektrik enerjisisinin üretimi, dağıtımı ve geniş ölçekte kullanımıyla birlikte ayrı bir disiplin olarak ortaya çıkmıştır. 20. yüzyılda yarı iletken teknolojisinin gelişimi, transistörün icadı, mikroişlemcilerin ve bilgisayarların gelişimi ile daha kapsamlı bir disiplin haline gelmiştir.

<span class="mw-page-title-main">Simülasyon</span> gerçek bir dünya süreci veya sisteminin işletilmesinin zaman üzerinden taklit edilmesi

Simülasyon veya benzetim, teknik olmayan anlamda bir şeyin benzeri veya sahtesi anlamında kullanılır. Teknik anlamda gerçek bir dünya süreci veya sisteminin işletilmesinin zaman üzerinden taklit edilmesidir. Sistem nesneleri arasında tanımlanmış ilişkileri içeren sistem veya süreçlerin bir modelidir.

Sanal bellek, fiziksel belleğin görünürdeki miktarını arttırarak uygulama programına (izlence) fiziksel belleğin boyutundan bağımsız ve sürekli bellek alanı sağlayan bilgisayar tekniğidir. Ana belleğin, diskin (ikincil saklama) önbelleği (cache) gibi davranmasıyla; yani disk yüzeyini belleğin bir uzantısıymış gibi kullanmasıyla gerçekleştirilir. Ancak gerçekte, yalnızca o anda ihtiyaç duyulan veri tekerden ana belleğe aktarılıyor olabilir. Günümüzde genel amaçlı bilgisayarların işletim sistemleri çoklu ortam uygulamaları, kelime işlemcileri, tablolama uygulamaları gibi sıradan uygulamalar için sanal bellek yöntemi kullanılmaktadır.

Güvenilirlik mühendisliği, güvenilirlik öğrenimi, gelişimi ve Ömür Devri Yönetimi ile ilgilenen bir mühendislik dalıdır. Güvenilirlik, bir sistem veya parçanın, belirlenen süre ve şartlar altında, istenen fonksiyonları gerçekleştirebilme yeteneği olarak tanımlanır. Kavram çoğu zaman, sistemin hata verme olasılığı şeklinde algılanır. Güvenilirlik, ayrıca belirli bir zaman aralığında işlevsellik yeteneğini tanımlama için de kullanılabilir. Güvenilirlik mühendisliği Sistem Mühendisliği alt-disiplini olarak kabul edilir ve Entegre Lojistik Destek disiplinine sürekli girdi teşkil eder. Güvenilirlik mühendisliği, hatalar arasındaki ortalama sürenin hesaplanması ile sistem güvenilirliğini ve sürekliliğini sağlar.

<span class="mw-page-title-main">Bilgisayar sanatı</span>

Bilgisayar sanatı yapımında veya gösteriminde bilgisayar kullanılarak gerçekleştirilen her türlü sanat eserini kapsayan bir sanat biçimidir.

<span class="mw-page-title-main">Yazılım testi</span>

Yazılım testi, test altında hizmetlerin veya ürünlerin kalitesi hakkında paydaşlara bilgi sağlamak için yürütülen bir araştırmadır. Yazılım testi aynı zamanda, yazılım uygulamalarının risklerini anlamak için yazılımı bağımsız ve nesnel olarak incelemektir. Test teknikleri yazılım böceklerini bulma niyetiyle uygulama veya bir programı çalıştırma süreçlerini kapsar.

Bir sistem mimarisi veya çoklu sistemlerin mimarisi; sistemin yapısını, davranışını ve biçimselliğini tanımlayan kavramsal modeldir. Bir mimari tanımı; sistemin yapıları ve davranışları hakkında mantıksallığı destekleyecek şekilde organize edilen ilişkiselliğin standart bir açıklaması veya temsilidir.

<span class="mw-page-title-main">Leonard Adleman</span> Amerikan bilgisayar bilimcisi

Leonard Adleman, Amerikalı bilgisayar bilimcisi. RSA adlı şifreleme sistemine yaptığı katkılardan ötürü 2002 yılında Turing Ödülü'nü almaya hak kazanmıştır. Adleman DNA bilgisayarlarını geliştiren kişi olarak da bilinmektedir.

Çökme raporlayıcısı veya çökme habercisi, genellikle işlevi, üretim veya geliştirme/test ortamlarında çökme bilgilerini tanımlamak ve çökmeler meydana geldiğinde kullanıcıyı uyarmak olan bir yazılımdır. Çökme raporlayıcısı çoğunlukla yığın izleri, çökme türü, eğilimler ve yazılım sürümü gibi verileri içerir. Yazılım geliştiricilerin web, SAAS, mobil uygulamalar ve daha birçok platformda çökmelere neden olan temel sorunu bulmalarına ve gidermelerine yardımcı olur. Ayrıca parolalar, e-posta adresleri ve iletişim bilgileri gibi hassas bilgileri de içerir. Bu nedenle de bilgisayar güvenliği alanındaki araştırmacılar için ilgi çekici hale gelmiştir.

<span class="mw-page-title-main">Analiz</span> belirli bir türdeki mevcut verilere analitik yöntemler uygulama, karmaşık bir konuyu veya maddeyi daha iyi anlamak için daha küçük parçalara ayırma süreci

Analiz, karmaşık bir konuyu veya maddeyi daha iyi anlamak için daha küçük parçalara ayırma sürecidir. Teknik, matematik ve mantık çalışmalarında Aristoteles'ten önce uygulanmıştır.

Bilgisayar programlama ve yazılım geliştirmede hata ayıklama (İngilizce: Debug) bilgisayar programları, yazılımları veya sistemleri içindeki hataları bulma ve çözme sürecidir.