한국   대만   중국   일본 
Eroare de program - Wikipedia Sari la con?inut

Eroare de program

De la Wikipedia, enciclopedia liber?
Pentru a raporta o eroare MediaWiki pe Wikipedia, vezi Wikipedia:Bug reports .


O eroare de program este o eroare, defect sau avarie intr-un program pentru calculator sau sistem care cauzeaz? acesta s? produc? un rezultat incorect sau nea?teptat, sau s? se comporte intr-un mod neinten?ionat. Procesul de c?utare ?i fixare a erorilor este denumit " depanare " ?i deseori se utilizeaz? tehnici formale sau unelte pentru a identifica erorile, ?i din anii 1950, unele sisteme de calculator au fost proiectate s? evite, detecteze sau auto-corecteze diverse erori de calculator in timpu oper?rii.

Majoritatea erorilor apar din gre?eli ?i erori f?cute sau in designul programei sau codul s?u surs? , sau in componentele ?i sistemele de operare utilizate de aceste programe. Careva sunt cauzate de compilatoare care produc cod incorect. Unui program care con?ine multe erori, ?i/sau erori care interfer? serios cu func?ionalitatea sa, i se spune c? e eronat sau b?gos (defectiv). Erorile pot declan?a avarii care ar putea avea efect de und? . Erorile ar putea avea efecte subtile sau cauza programul s? se pr?bu?easc? sau s? inghe?e calculatorul. Alte erori se calific? ca erori de securitate ?i ar putea, spre exemplu, s? permit? unui utilizator cu inten?ii rele s? ocoleasc? controlul accesului pentru a ob?ine privilegii neautorizate . [1]

Unele erori de program au fost legate de dizastre. Erori in codul care a controlat ma?ina de radioterapie Therac-25 au fost direct responsabile pentru decesele pacien?ilor in anii 1980. in 1996, racheta prototip Ariane 5 de US$1 miliard al Agen?iei Spa?iale Europene a fost distrus? in mai pu?in de un minut dup? lasare datorit? unei erori in programul calculatorului de bord de ghidare. [2] In Iunie 1994, un elicopter Chinook al For?elor Aeriene Regale s-a pr?bu?it in Mullul Kintyreului , omorand 29 oameni. Aceasta ini?ial a fost demis? ca eroare a pilotului, dar o investigare de Computer Weekly a convins ancheta Camerei Lorzilor c? posibil a fost c?uzat? de o eroare de program in calculatorul de control al motorului a aeronavei. [3]

in 2002, un studiu comandat de Institutul Na?ional de Standarde ?i Tehnologie al Departamentului de Comer? al SUA a concluzionat c? "erorile de program, sunt a?a de prevalente ?i a?a de detrimentale c? ele cost? economiei SUA un estimat de $59 miliarde anual, sau cam 0.6 procente al produsului intern brut". [4]

Prevenire [ modificare | modificare surs? ]

Eroare rezultand dintr-o eroare program afi?at? pe dou? ecrane la Sta?ia La Croix de Berny in Fran?a.

Industria tehnologiilor informa?ionale a depus mare efort in reducerea num?rului erorilor. [5] [6] Acestea includ:


Erori tipografice [ modificare | modificare surs? ]

Erori deseori apar atunci cand programatorul face o eroare logic? . Inova?ii diverse in stil de programare ?i programarea defensiv? sunt designate s? fac? aceste erori mai pu?in probabile, sau mai u?or de descoperit. Unele gre?eli tipografice, mai ales al simboalelor sau a operatorilor logici/ matematici , permit programului s? opereze incorect, pe cand alte ca un simbol care lipse?te sau un nume pronun?at gre?it ar face posibil prevenirea oper?rii programului. Limbajele compilate pot dezv?lui unele gre?eli de tipar cand codul surs? e compilat.

Metodologii de Dezvoltare [ modificare | modificare surs? ]

Mai multe scheme asist? in gestionarea activit??ii programatorului incat mai pu?ine erori sunt produse. Ingineria programelor (care la fel adreseaz? probleme de design al programelor) aplic? multe tehnici ca s? previn? defecte. Spre examplu, specifica?iile de program formale precizeaz? comportamentul exact al programelor a?a c? e posibil de eliminat erorile de design. Din nefericire, specifica?iile formale sunt inpractice pentru orice in afar? de cele mai scurte programe, din cauza exploziei combinatoriale a problemei ?i nedeterminismului .

Depanare [ modificare | modificare surs? ]

Istoria de erori tipic? (datele proiectului GNU Classpath ). O eroare nou? trimis? de utilizator e unconfirmed (neconfirmat?). Odat? ce a fost reprodus? de un dezvoltator, este eroare confirmed (confirmat?). Erorile confirmate dup? aceasta sunt fixed (fixate). Erorile care apar?in altor categorii (nereproductibile, nu vor fi fixate, etc.) deseori sunt in minoritate

C?utarea ?i fixarea erorilor, sau depanarea , este o parte major? a program?rii . Maurice Wilkes , un pioner al program?rii timpuriu, a descris realizarea sa din sfar?itul anilor 1940 c? mult din restul vie?ii sale va fi cheltuit g?sind gre?eli in programele lui proprii. [7]

Deseori, cea mai grea parte a depan?rii ii g?sirea erorii. Indat? ce e g?sit?, corectarea ei de regul? este relativ u?oar?. Programele cunoscute ca depanatoare ajut? programatorii s? localizeze erori prin executarea codului linie dup? linie, privind valorile variabilelor, ?i alte func?ii de observare a comportamentului programului. F?r? un depanator, codul poate fi ad?ugat a?a ca mesajele sau valorile s? fie scrise in o consol? sau o fereastr? sau fi?ier de logare pentru a trasa execu?ia programului sau a ar?ta valorile.

Chiar ?i, cu ajutorul depanatorului, locarea erorilor este un fel de art?. Nu este rar pentru fixul unei erori intr-o sec?iune a programului sa cauzeze e?ecuri in sec?iuni complet diferite, in a?a fel f?cant deosebit de greu trasarea (spre exemplu, o eroare in rutina de redare grafic? cauzand rutina I/I a fi?ierului s? cad?), intr-o parte a sistemului aparent f?r? leg?tur?.

Uneori, o eroare nu este un defect isolat, dar reprezint? o eroare de gandire sau planificare din partea programatorului. A?a erori logice necesit? o sec?iune a programului s? fie revizuit? sau rescris?. Ca parte de revizuire a codului , p??irea prin cod ?i imaginarea sau transcrierea procesului de execu?ie deseori poate g?si erori f?r? necesitatea de a rula programul ?i de a le reproduce.

Mai tipic, primul pas in locarea erorii este reproducerea ei sigur?. Din moment ce eroarea e reproductibil?, programatorul ar putea folosi un depanator sau alt? unealt? in timp ce reproduce eroarea ca s? g?seasc? punctul in care programul s-a dus h?isa [ necesit? citare ] .

Implica?ii [ modificare | modificare surs? ]

Volumul ?i tipul de prejudicii o eroare de program poate s? cauzeze in mod natural afecteaz? luarea de decizii, procesele ?i poli?ele in privin?a calit??ii programelor. In a?a aplica?ii ca zborul spa?ial uman sau siguran?a auto , deoarece defectele programelor au poten?ialul s? cauzeze v?t?m?ri umane sau chiar moartea, a?a programe vor avea mult mai mult? scrutinitate ?i control al calit??ii ca, spre exemplu, un sit pentru cump?r?turi in re?ea. In aplica?ii ca sfera bancar?, unde defectele program au poten?ialul s? cauzeze serioase prejudicii financiare b?ncii sau clien?ilor s?i, controlul calit??ii este la fel mai important decat, s? zicem, intr-o aplica?ie de editare foto.

Erori bine cunoscute [ modificare | modificare surs? ]

Un num?r de erori de program au devenit bine cunoscute, deseori din cauza severit??ii sale: example includ variate pr?bu?iri al aeronavelor spa?iale ?i militare. Posibil cea mai renumit? eroare este problema anului 2000 , mai cunoscut? ca eroarea Y2K in englez?, in care s-a temut c? colapsul economic mondial s-ar intampla la inceputul anului 2000 ca rezultat al calculatoarelor s? cread? thinking c? era anul 1900. (In fine , nici o problem? major? nu a avut loc.) O eroare renumit? era disrup?ia tranzac?ion?rii cu ac?iuni din 2012 care a implicat incompatibilitatea dintre IPA(API in englez?)-ul vechi ?i IPA-ul nou.

In cultura popular? [ modificare | modificare surs? ]

  • In ambele romanul 2001: O odisee spa?ial? din 1968 ?i filmul corespunz?tor din 1968 2001: O odisee spa?ial? , calculatorul de bord al corabiei spa?iale, HAL 9000 , incearc? s? ucid? to?i membrii echipajului s?u. In romanul continuare din 1982, 2010: A doua odisee , ?i filmul care il acompaniaz? din 1984, 2010 , revela?ia e c? aceast? ac?iune a fost cauzat? de aceia ca calculatorul a fost programat cu doua obiective conflictuale: s? dezv?luie complet toate informa?iile sale, ?i s? ?in? scopul adev?ra? al zborului in secret de la echipaj; acest conflict cauzeaz? HAL s? devin? paranoid ?i eventual omicidal.
  • In versiunea englez? al cantecului forma?iei Nena din 1983 99 Luftballons (99 Baloane Ro?ii) ca rezultat a unei "gre?eli in program", o lansare a unui grup de 99 baloane ro?ii e confundat cu o lansare de rachete nucleare al inamicului, necesitand o lansare r?spuns echivalent?, rezultand intr-o catastrof?.
  • In comedia american? din anul 1999 Office Space , trei angaja?i incearc? s? expluateze preocuparea companiei lor cu fixarea erorii de calculator a anului 2000 prin infectarea sistemului de calculatoare al companiei cu un virus care trimite b?nu?i rotunji?i c?tre un cont bancar separat. Planul creaz? probleme incat ins??i virusul are o proprie eroare, care trimite prematur mari sume de bani in cont.
  • Romanul din anul 2004 The Bug , de Ellen Ullman , este despre incercarea programatorului s? g?seasc? o eroare eluziv? intr-o aplica?ie de baz? de date. [8]
  • Filmul canadian din 2008 Control Alt Delete este despre un programator la sfar?itul anului 1999 care se chinuie s? fixeze erori la compania sa relatate de problema anului 2000.


Note [ modificare | modificare surs? ]

  1. ^ Mittal, Varun; Aditya, Shivam ( ). ?Recent Developments in the Field of Bug Fixing”. Procedia Computer Science . International Conference on Computer, Communication and Convergence (ICCC 2015) (in englez?). 48 : 288?297. doi : 10.1016/j.procs.2015.04.184 Accesibil gratuit. ISSN   1877-0509 .  
  2. ^ ?Ariane 501 - Presentation of Inquiry Board report” . www.esa.int (in englez?) . Accesat in .  
  3. ^ Prof. Simon Rogerson . ?The Chinook Helicopter Disaster” . Ccsr.cse.dmu.ac.uk. Arhivat din original la . Accesat in .  
  4. ^ ?Software bugs cost US economy dear” . . Arhivat din original la . Accesat in .  
  5. ^ Huizinga, Dorota; Kolawa, Adam ( ). Automated Defect Prevention: Best Practices in Software Management . Wiley-IEEE Computer Society Press. p. 426. ISBN   978-0-470-04212-0 . Arhivat din original la .  
  6. ^ McDonald, Marc; Musson, Robert; Smith, Ross ( ). The Practical Guide to Defect Prevention Necesită înregistrare gratuită. Microsoft Press. p.  480 . ISBN   978-0-7356-2253-1 .  
  7. ^ Maurice Wilkes Quotes
  8. ^ Ullman, Ellen ( ). The Bug . Picador . ISBN   978-1-250-00249-5 .  

Vezi ?i [ modificare | modificare surs? ]


Leg?turi externe [ modificare | modificare surs? ]