Bugy - Menu Úvod Co je Bug Zdroje chyb Typy bugů
Zdroje chyb
Chyba může být:
Syntaktická
Taková chyba spočívá v narušení syntaxe
gramatiky použitého programovacího jazyka. U kompilovaných programů ji překladač
zahlásí přímo při překladu během syntaktické analýzy.
Sémantická
Program se bez problému přeloží, ale nedělá co má. Například skončí v nekonečném
cyklu, spadne (je násilně ukončen operačním systémem pro porušení přidělených
práv) nebo vydá naprosto špatný výsledek (což je většinou ta nejhorší možná
varianta). Ve složitějším programu (například operačním systému) se může stát,
že program pozná, že se dostal do chybné situace, ale není schopen pokračovat ve
funkci a proto se zastaví nebo ukončí, obvykle se specifickým chybovým hlášením.
Neočekávaná událost
Při běhu programu nastane situace, se kterou
programátor nepočítal a na kterou neumí program správně zareagovat. Může to být
situace vnitřní (například se pokouší psát do souboru na disku, ale disk je
plný) nebo neočekávaná hodnota vstupu.
Velmi často způsobí chybu obyčejný
překlep, například ve jméně proměnné, použití 1 místo 0 nebo < místo <=. Takové
chyby se zvlášť špatně hledají.
Dalším zdrojem chyb je chybné nebo
nedostatečné použití synchronizačních primitiv při přístupu ke sdíleným zdrojům.
Taková chyba může v programu vydržet velmi dlouho a projevit se teprve při
specifickém pořadí naplánování vláken na procesoru nebo procesorech. Podmnožinou
těchto chyb je deadlock.