Softwarová chyba

Softwarová chyba je problém s kódem počítačového programu, který způsobuje jeho nesprávné fungování. Uživateli může způsobit nepříjemnosti a může způsobit pád nebo zamrznutí počítače. Většina počítačových programů má chyby. O programu, který má velké množství chyb (případně jednu nebo několik závažných chyb), se říká, že je chybný.

Většina chyb je způsobena špatným naprogramováním ze strany vývojáře, ale někdy mohou být způsobeny problémy s překladačem. Když se objeví chyby, lidé posílají hlášení o chybě vývojáři, aby ho o chybě informovali a nechali ho ji opravit.

Někdy lidé říkají, že jejich počítač má chybu, i když s ním něco není v pořádku. Problém je obvykle způsoben počítačovým virem, který infikoval jejich počítač a způsobuje, že je pomalý nebo dělá různé věci.

Některé chyby jsou neškodné, například v mnoha videohrách se objekty nesprávně pohybují skrz zdi. Jiné chyby jsou závažnější, například chyba v navigačním systému, která způsobí výbuch letadla.



Typy chyb

Přetečení vyrovnávací paměti

K přetečení vyrovnávací paměti dochází, když program zapisuje do oblasti paměti, do které nemá přístup, nebo z ní čte.

Aritmetické přetečení

K aritmetickému přetečení dochází, když se číslo obsažené v proměnné zvýší nad nejvyšší číslo, které proměnná umožňuje. To obvykle způsobí, že se číslo vrátí zpět na nulu.

Nekonečná smyčka

Nekonečná smyčka nastane, když program vstoupí do smyčky (mnohokrát opakované série instrukcí) a není možné z ní vystoupit. To může způsobit zamrznutí programu.

Chyby při zaokrouhlování

Pokud proměnná s pohyblivou řádovou čárkou nemá dostatečnou přesnost, může být číslo v ní uložené nepřesné. To může způsobit různé problémy v závislosti na typu programu, například navigační program může navigovat na nechtěné místo nebo zkreslený zvuk v programu pro záznam zvuku.

Dělení nulou

Dělení nulou je neplatná matematická operace. Pokud program dělí celé číslo nulou, dojde k jeho selhání. V systému Linux se při výskytu této chyby zobrazí zpráva "floating point exception", přestože se nejedná o čísla s plovoucí desetinnou čárkou. Matematika s pohyblivou řádovou čárkou někdy umožňuje dělení nulou. To obvykle vyústí ve zvláštní hodnotu "není číslo".

Problémy s ořezáváním

Ve videohrách dochází k problémům s oříznutím, nazývaným také problémy s detekcí kolizí, když objekt projde překážkou (například stěnou, podlahou nebo stropem), kterou neměl projít. Jedná se o velmi častou chybu, která se vyskytuje v mnoha videohrách. Může se to stát například ve hře Doom 2, když je rozdrcená příšera oživena arcilotrem. Problémy s ořezáváním lze často využít jako taktiku úspory času ve speedrunu, například ve hře Super Mario 64 je možné přeskočit chůzi po točitém schodišti v zámku proskočením stropem.

Bezpečnostní chyby

Bezpečnostní chyby jsou chyby, které umožňují útočníkovi získat přístup k počítači nebo způsobit jeho selhání. Způsobení havárie počítače se nazývá útok typu odepření služby. Bezpečnostní chyby jsou považovány za obzvláště důležité k opravě, protože by mohly narušitelům umožnit krádež důležitých informací, jako jsou čísla kreditních karet nebo hesla. Příklady bezpečnostních chyb jsou Heartbleed a Shellshock.



Misbugs

Chyba je chyba, která byla použita jako funkce. Příkladem může být chyba v telefonu se systémem Android, která umožňuje uživatelům získat přístup root.



Chyby hardwaru

Některé chyby se netýkají softwaru, ale hardwaru (fyzických částí počítače). Například spuštění instrukce lock cmpxchg8b eax na starých procesorech Pentium způsobilo, že procesor přestal pracovat, dokud nebyl restartován. Protože hardwarové chyby jsou fyzickými konstrukčními chybami, nelze je opravit aktualizací softwaru, i když je možné chybu obejít (skrýt) pomocí aktualizace softwaru.



Otázky a odpovědi

Otázka: Co je to softwarová chyba?


Odpověď: Softwarová chyba je problém s kódem počítačového programu, který způsobuje, že program nefunguje správně.

Otázka: Jaké jsou důsledky softwarové chyby?


A: Softwarová chyba může způsobit uživateli nepříjemnosti a může způsobit pád nebo zamrznutí počítače.

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


Odpověď: Ano, většina počítačových programů má chyby.

Otázka: Co je to chybný program?


Odpověď: Chybný program je takový, který má velké množství chyb, případně jednu nebo několik závažných chyb.

Otázka: Kdo je zodpovědný za většinu chyb v počítačových programech?


Odpověď: Většina chyb je způsobena špatným naprogramováním ze strany vývojáře, ale někdy mohou být způsobeny problémy s překladačem.

Otázka: Co lidé dělají, když v počítačovém programu najdou chybu?


Odpověď: Když lidé najdou chyby, pošlou vývojáři hlášení o chybě, aby ho o ní informovali a nechali ho ji opravit.

Otázka: Co mají lidé na mysli, když říkají, že jejich počítač má chybu?


Odpověď: Když lidé říkají, že jejich počítač má chybu, obvykle tím myslí, že je s ním něco v nepořádku, což je obvykle způsobeno počítačovým virem, který infikoval jejich počítač a způsobuje, že je pomalý nebo dělá různé věci.

AlegsaOnline.com - 2020 / 2023 - License CC3