Softverska greška
Računarski „bag” je popularni naziv za grešku u računarskom programu ili, rjeđe, samom računaru. Termin dolazi od engleske riječi bug („buba”, „insekt”) i počeo se šire koristiti od nastanka digitalnih računara 1940-ih godina.
Bagovi nastaju pri procesu pisanja računarskih programa, u kojem se dešavaju različite greške uzrokovane ljudima koji ih pišu. Pošto računari imaju ograničene (ili nikakve) mogućnosti provjere ljudskog koda, dolazi do ispoljavanja grešaka pri samom radu programa.
Pri kontroli procesa ili mašina, bagovi mogu biti skupi, a ponekad i smrtonosni.
Poznatiji slučajevi ralunarskih bagova uključuju propast satelita Mariner I (1961), rendgen mašine koje su izazvale smrt ljudi zbog prevelike doze zračenja (1980-e), eksplozija rakete Arijane 5 (1996) i druge. Poznati fiktivni bag je ovjekovječen u filmu Odiseja u svemiru 2001, gdje računar HAL 9000, počinje da ubija članove posade svemirskog broda Otkriće.
Česti bagovi
urediAritmetički bagovi
uredi- Deljenje sa nulom
- Gubitak preciznosti zbog zaokruživanja
Logički bagovi
uredi- Beskonačna petlja
- Beskonačna rekurzija
Sintaksički bagovi
uredi- Korišćenje pogrešnog operatora, na primer operatora dodele vrednosti umesto operatora poređenja jednakosti
Resursni bagovi
uredi- Dereferenciranje NULL pokazivača
- Korišćenje neinicijalizovane promenljive
- Pristup nedozvoljenom području memorije (segmentation fault)
- Preduboka rekurzija, koja iako logički validna ima za posledicu prepunjavanje steka
Literatura
uredi- The New York Times Guide to Essential Knowledge. ISBN 9780-312-31367-8. str. 660.
Spoljašnje veze
uredi- Kolekcija programskih grešaka
- Računarski incidenti sa komercijalnim avionima
- Istraga o nesretnim slučajevima sa prekoračenim rendgenskim dozama uređaja Therac-25
- Smrt zbog greške u programu
- Programske horor priče
- Slika prvog računarskog baga Arhivirano na sajtu Wayback Machine (12. januar 2015)
- Najgore programerske greške u istoriji Arhivirano na sajtu Wayback Machine (17. maj 2008)