Chyba počítače
chyba počítače je kaz v počítačovém programu který předejde tomu od pracovat správně. Chyby se vynoří z chyb v jeden program je zdrojový kód nebo jeho design. To je říkal, že tam jsou chyby ve všech užitečných počítačových programech ale studně-napsané programy obsahují relativně nemnoho chyb, a tyto chyby typicky nebrání programu v provádění jeho úkolu. Kočárek programy jsou ti který obsahovat velké množství chyb, a/nebo chyby, které vážně se střetávají s funkčností programu.| Tabulka s obsahem |
| 1 přehled 2 etymologie 3 předcházet chybám 4 ladění 5 seznamu chyb počítače 6 obyčejných druhů chyb počítače 7 externí odkazy a odkazy |
Chyby mohou mít širokou paletu efektů, s kolísajícími úrovněmi potíže k uživateli programu. Některé chyby mají jen důvtipný účinek na funkčnost programu, a smět tak ležet nezjištěný na dlouhou dobu. Více vážných chyb může přimět program, aby havaroval nebo mrazil se. V některých operačních systémech, takový jako Microsoft Windows, havarovat nebo se mrazit programy mohou skýtat počítač nepoužitelný až do toho je restartovaný (vidět modrou obrazovku smrti.) jiné chyby vedou k bezpečnostním problémům; například, obyčejný druh chyby volal přetečení vyrovnávací paměti může dovolit zlomyslného uživatele vykonat nový program, který je normálně ne povolil běžet.
Výsledky chyb mohou být extrémně vážné. V 1962, vynechaná pomlčka v Fortran programu vedla ke ztrátě Námořník 1 Venus sonduje, který stál přes $80 milión; Arthur C. Clarke nazval toto “nejdražší pomlčka v historii”. V 1996, Evropská organizace pro kosmonautiku je prototyp Ariane 5 raketa byla zničena méně než minuta po startu náležitý k chybě v deskovém vedení počítač, rozpočet přes nás $1 miliarda.
Fotka první počítačové chyby.
Klik pro
- V 1946, když Hopper byl propuštěn z boje, ona se připojila k Harvard schopnosti u laboratoře počítání kde ona pokračovala v její práci na svém místě II a označit III. Ona stopovala chybu ve značce II k můra lapala v směně, razit chybu termínu. Tato chyba byla opatrně vzdálená a nahrávala k palubní knize. Pocházet z první chyby, dnes my voláme chyby nebo závada je v programu chyba. [1]
Chyby jsou důsledek povahy programovací úlohy. Některé chyby se vynoří z jednoduchých omylů vyrobený když programátor píše zdrojový kód nedbale. Mnoho pryč-- jedny chyby spadat do této kategorie. Jiné chyby se vynoří z nezamýšlených vzájemných ovlivňování mezi různými částmi počítačového programu. Toto se stane, protože počítačové programy jsou často komplex, tak že programátoři jsou neschopní k mentálně dráha živobytí každé možné cesty ve kterých různých částech může se ovlivňovat. Mnoho závodních stavových chyb spadá do této kategorie.
Průmysl počítačového softwaru dal velké množství úsilí do najití metod pro předcházet programátorům od bezděčně představovat chyby zatímco píše software. To zahrnuje:
- Techniky programování. Chyby často vytvoří rozporuplnosti ve vnitřních datech odladěného programu. Programy mohou být psány kontrolovat důslednost jejich vlastních interních dat zatímco běží. Jestliže rozporuplnost je narazena, program může okamžitě zastavit se, tak že chyba může být umístěná a fixovaná. Jinak, program může jednoduše informovat uživatele, pokoušet se opravit rozporuplnost, a pokračovat v běhu.
- Metodologie vývoje. Tam je několik schémat pro řídící programátorskou aktivitu, tak že méně chyb je produkováno. Mnoho z těchto spadat pod kázeň softwarového inženýrství (který vyjádří se k softwarovým designovým otázkám také.)
- Podpora programovacího jazyka. Programovací jazyky často zahrnují rysy, které pomohou programátorům zabývat se chybami, takový jako výjimkové zacházení. Navíc, mnoho nedávno-vytvořené jazyky mají uváženě vyřadil rysy, které mohou snadno vést k chybám. Například, Jávský programovací jazyk nepodporuje pointerovou aritmetiku.
Nacházet a opravovat chyby nebo “ladění”, vždy byl hlavní role programování počítače. Maurice Wilkes, časný počítačový průkopník, popisuje jeho realizaci v pozdní čtyřicátá léta to hodně z jeho odpočinku život byl by utracené najití chyb v jeho vlastních programech. Jako počítač programy stanou se více komplexní, chyby stanou se obvyklejší a těžké k opravě. Často, programátoři utrácejí více času a nález úsilí a opravovat chyby než psací nový kód.
Obvykle, nejtěžší část ladění lokalizuje chybnou část zdrojového kódu. Jakmile chyba se nalézá, opravovat to je obvykle snadný. Programy známé jako debuggery existují pomoci programátorům lokalizovat chyby. Nicméně, dokonce s pomocí debuggeru, lokalizovat chyby je něco umění.
Typicky, první krok v ustavení chyba najde způsob, jak reprodukovat to snadno. Jednou chyba je reprodukována, programátor může používat ladící program nebo nějaký jiný nástroj sledovat provádění programu ve vadné oblasti, a (nakonec) najít problém. Nicméně, to není vždy snadné reprodukovat chyby. Některé chyby jsou odjištěny vstupy k programu, který může být obtížný pro programátora k re-vytvořit. Jiné chyby mohou mizet, když program je provozován s debuggerem; tito jsou heisenbugs (komicky pojmenoval podle Heisenberg principu neurčitosti.)
Pokračování je seznam slavných počítačových chyb:
- ESA Ariane 5 vzlétat (1996 4. června).
- NASA Apollo 11 problém přistání (1969 20. července).
- NASA Námořník 1 FORTRAN' s dělat postrádat desítkovou čárkovou chybu (1962 22. července).
- NASA Mars klima Orbiter (1999) nedokázal změnit yardy na metry.
- NASA Cestovatel 2 (1986 24. ledna).
- Phobos 1 (1988 10. září).
Lékařský
- Therac-25 nehody (1985-1987), docela možná nejvážnější počítačově zaměřená porucha někdy v podmínkách člověka život prohrál.
Práce na počítači
- Pentium FDIV chyba
- rok 2000 problému, populárně známý jako “y2k chyba”, plozené strachy z celosvětového ekonomického kolapsu a průmysl poradců poskytovat last-minute opravy
Sci-fi
- Douglas Adams' Chytré myšlení' s 42 - “Ah ale co je otázka chyba.
- Arthur C. Clarke' s Hal 9000' s chyba.
Obyčejné druhy chyb počítače
- Předěl nulou
- Nekonečné smyčky
- Aritmetické přetečení nebo podtečení
- Překonávat sadové hranice
- Používat proměnnou unitialized
- Zpřístupňovat paměť ne vlastnil (Porušení přístupu)
- Paměťová díra
- Stack přetečení nebo podtečení
- Přetečení vyrovnávací paměti
- Mrtvý bod
- Pryč jednou chybou
Vnější spojení a odkazy
- Thomas Huckle Tua München rozsáhlá strana na chybách počítače: http://wwwzenger.informatik.tu-muenchen.de/persons/huckle/bugse. html
- Nachum Dershowitz strana na chybách počítače: http://www.cs.tau.ac.il/ ~ nachumd/ověřit/hrůza. html
- N. Leveson a C. Turner: Vyšetřování Therac-25 nehody: http://courses.cs.vt.edu/ ~ cs3604/liberál/Therac _ 25/Therac _1.html
- Se zvedl, Barbara Wadeová: Smrtelná dávka - ozařovací smrti spojené k AECL chybám počítače (producenti Therac-25): http://www.ccnr.org/fatal_dose. html
- obraz první chyby počítače