Lovci na „bubice“

03.
sep
kategorija: Zanimljivosti komentari (0)

Razvoj računarskih programa jednim delom podseća na konstruisanje kvalitetnog ručnog časovnika. Potrebno je veliki broj precizno izrađenih delova i mehanizama uklopiti u jedinstvenu celinu koja mora besprekorno da funkcioniše u najrazličitijim uslovima. S tim što u slučaju naprednih programa ceo sistem može da bude neuporedivo kompleksniji, pri čemu programeri ne mogu uvek jasno da vide delove koje uklapaju.

Zbog toga se javljaju greške i sigurnosni propusti. O tome često čitamo i slušamo u medijima, pogotovo ako je problem otkriven u operativnom sistemu, na nekom velikom onlajn servisu ili popularnoj mobilnoj aplikaciji. Tada se govori o ugroženim podacima korisnika, mogućnostima zloupotrebe i ukaljanom ugledu kompanija, ali šira publika najčešće nema puno razumevanje problema koji se desio. Većina propusta i grešaka u softveru ne nastaje namerno, već kao rezultat pomenute kompleksnosti aplikacija i nemogućnosti testiranja svih okruženja i situacija u kojima program može da funkcioniše. Postoji više vrsta i stepena testiranja softvera – od inicijalnih provera od strane programera, ručno ili automatski, preko namenskih internih ili eksternih timova koji rade isključivo testiranje, do takozvanog „beta“ testiranja od strane odabranog broja realnih korisnika. I pored svega toga, u praktičnoj primeni dešavaju se problemi. Zbog toga velike softverske kuće po pravilu imaju nagradne fondove za otkrivanje grešaka i sigurnosnih „rupa“. Svako ko otkrije problem i na njega ukaže proizvođaču, može da dobije nagradu u visini koja zavisi od značaja greške. Time se potencira tiho prijavljivanje grešaka kreatoru aplikacija, umesto javnog objavljivanja, jer bi to samo pozvalo zlonamernike da iskoriste propuste i prouzrokovalo mnogo veću štetu za korisnike.

Za greške u kompjuterskim programima koristi se engleska reč „bag“ (eng. bug), u značenju insekt, odnosno buba. Priča kaže da se 1946. godine desio kvar na jednom od prvih elektro-mehaničkih računara. Inženjeri su otkrili da je problem u tome što se moljac zaglavio u jedan od električnih releja. U dnevnik održavanja su zalepili uljeza, uz napomenu da se radi o „bubi“ u sistemu. Termin „bag“ se, doduše, koristio i ranije za sve vrste nejasnih i neidentifikovanih problema sa tehničkom opremom, slično kao što mi za osobu koja se čudno ponaša kažemo da ima „bubice u glavi“.