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.