Softvérová chyba

Softvérová chyba je problém s kódom počítačového programu, ktorý spôsobuje jeho nesprávne fungovanie. Môžu spôsobiť používateľovi nepríjemnosti a spôsobiť zlyhanie alebo zamrznutie počítača. Väčšina počítačových programov má chyby. O programe, ktorý má veľký počet chýb (prípadne jednu alebo niekoľko závažných chýb), sa hovorí, že je chybný.

Väčšina chýb je spôsobená zlým programovaním zo strany vývojára, ale niekedy môžu byť spôsobené problémami kompilátora. Keď sa nájdu chyby, ľudia posielajú hlásenia o chybách vývojárom, aby ich informovali o chybe a umožnili im ju opraviť.

Niekedy ľudia hovoria, že ich počítač má chybu, keď s ním niečo nie je v poriadku. Problém je zvyčajne spôsobený počítačovým vírusom, ktorý infikoval ich počítač a spôsobuje, že je pomalý alebo robí rôzne veci.

Niektoré chyby sú neškodné, napríklad mnohé videohry nesprávne umožňujú pohyb objektov cez steny. Iné chyby sú závažnejšie, napríklad chyba v navigačnom systéme, ktorá spôsobuje výbuch lietadla.



Typy chýb

Pretečenie vyrovnávacej pamäte

K pretečeniu vyrovnávacej pamäte dochádza vtedy, keď program zapisuje do oblasti pamäte, ku ktorej nemá prístup, alebo z nej číta.

Aritmetické pretečenie

K aritmetickému pretečeniu dochádza vtedy, keď sa číslo obsiahnuté v premennej zvýši nad najvyššie číslo, ktoré premenná umožňuje. To zvyčajne spôsobí, že sa číslo vráti na nulu.

Nekonečná slučka

Nekonečná slučka nastane vtedy, keď program vstúpi do slučky (séria inštrukcií, ktorá sa opakuje mnohokrát) a nie je možné z nej vystúpiť. To môže spôsobiť zamrznutie programu.

Chyby pri zaokrúhľovaní

Ak premenná s pohyblivou rádovou čiarkou nemá dostatočnú presnosť, číslo v nej uložené môže byť nepresné. To môže spôsobiť rôzne problémy v závislosti od typu programu, napríklad môže spôsobiť, že navigačný program bude navigovať na neúmyselné miesto, alebo skreslený zvuk v programe na nahrávanie zvuku.

Delenie nulou

Delenie nulou je neplatná matematická operácia. Ak program delí celé číslo nulou, dôjde k jeho zlyhaniu. V systéme Linux sa pri výskyte tejto chyby zobrazí hlásenie "výnimka s pohyblivou desatinnou čiarkou", aj keď nejde o čísla s pohyblivou desatinnou čiarkou. Matematika s pohyblivou rádovou čiarkou niekedy umožňuje delenie nulou. Zvyčajne sa to prejaví špeciálnou hodnotou "nie je číslo".

Problémy s orezávaním

Vo videohrách sa problémy s orezaním, nazývané aj problémy s detekciou kolízií, vyskytujú vtedy, keď objekt prejde cez prekážku (napríklad stenu, podlahu alebo strop), cez ktorú nemal prejsť. Ide o veľmi častú chybu, ktorá sa vyskytuje v mnohých videohrách. Môže sa to stať napríklad v hre Doom 2, keď je rozdrvená príšera oživená archeológom. Problémy s orezávaním sa často dajú využiť ako taktika šetrenia času pri speedrunoch, napríklad v hre Super Mario 64 je možné preskočiť chôdzu po točitých schodoch v hrade skokom cez strop.

Bezpečnostné chyby

Bezpečnostné chyby sú chyby, ktoré umožňujú útočníkovi získať prístup do počítača alebo spôsobiť jeho poruchu. Spôsobenie zlyhania počítača sa nazýva útok na odmietnutie služby. Bezpečnostné chyby sa považujú za obzvlášť dôležité na opravu, pretože môžu umožniť útočníkom ukradnúť dôležité informácie, ako sú čísla kreditných kariet alebo heslá. Príkladmi bezpečnostných chýb sú Heartbleed a Shellshock.



Misbugs

Chyba je chyba, ktorá bola použitá ako funkcia. Príkladom môže byť chyba v telefóne so systémom Android, ktorá umožňuje používateľom získať root prístup.



Chyby hardvéru

Niektoré chyby sa týkajú hardvéru (fyzických častí počítača) a nie softvéru. Napríklad spustenie inštrukcie lock cmpxchg8b eax na starých procesoroch Pentium spôsobí, že procesor prestane pracovať, kým sa nereštartuje. Keďže hardvérové chyby sú fyzickými chybami návrhu, nie je možné ich opraviť pomocou aktualizácie softvéru, hoci je možné chybu obísť (skryť) pomocou aktualizácie softvéru.



Otázky a odpovede

Otázka: Čo je to softvérová chyba?


Odpoveď: Softvérová chyba je problém s kódom v počítačovom programe, ktorý spôsobuje jeho nesprávne fungovanie.

Otázka: Aké sú dôsledky softvérovej chyby?


Odpoveď: Softvérová chyba môže spôsobiť používateľovi nepríjemnosti a môže spôsobiť zlyhanie alebo zamrznutie počítača.

Otázka: Majú všetky počítačové programy chyby?


Odpoveď: Áno, väčšina počítačových programov má chyby.

Otázka: Čo je chybný program?


Odpoveď: Chybný program je taký, ktorý má veľký počet chýb, prípadne jednu alebo niekoľko závažných chýb.

Otázka: Kto je zodpovedný za väčšinu chýb v počítačových programoch?


Odpoveď: Väčšina chýb je spôsobená zlým programovaním zo strany vývojára, ale niekedy môžu byť spôsobené problémami kompilátora.

Otázka: Čo robia ľudia, keď nájdu chybu v počítačovom programe?


Odpoveď: Keď sa nájdu chyby, ľudia posielajú hlásenia o chybách vývojárovi, aby ho informovali o chybe a nechali ho ju opraviť.

Otázka: Čo majú ľudia na mysli, keď hovoria, že ich počítač má chybu?


Odpoveď: Keď ľudia hovoria, že ich počítač má chybu, zvyčajne tým myslia, že s ním nie je niečo v poriadku, čo je zvyčajne spôsobené počítačovým vírusom, ktorý infikoval ich počítač a spôsobuje, že je pomalý alebo robí rôzne veci.

AlegsaOnline.com - 2020 / 2023 - License CC3