Pređi na sadržaj

Softverska greška

S Vikipedije, slobodne enciklopedije
Prvi računarski „bag“ (greška u programu ili računaru).

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[uredi | uredi izvor]

Aritmetički bagovi[uredi | uredi izvor]

  • Deljenje sa nulom
  • Gubitak preciznosti zbog zaokruživanja

Logički bagovi[uredi | uredi izvor]

  • Beskonačna petlja
  • Beskonačna rekurzija

Sintaksički bagovi[uredi | uredi izvor]

  • Korišćenje pogrešnog operatora, na primer operatora dodele vrednosti umesto operatora poređenja jednakosti

Resursni bagovi[uredi | uredi izvor]

  • 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 | uredi izvor]

Spoljašnje veze[uredi | uredi izvor]