Sari la conținut

Bug (inginerie)

De la Wikipedia, enciclopedia liberă

În domeniul ingineriei, un bug este un defect de proiectare al unui sistem proiectat care provoacă un rezultat nedorit.

Deși este folosit exclusiv pentru a descrie o problemă tehnică, bug-ul este un termen non-tehnic; aplicabil fără o înțelegere tehnică a sistemului.

Termenul „bug” se aplică exclusiv unui sistem proiectat (de către om), nu unui sistem natural, și că problema se află sub influența controlului uman. De exemplu, oamenii au defecte, dar nu și bug-uri, iar o cădere a unui server din cauza unui dezastru natural nu este un bug.

Pe lângă sau în loc de defect, unii folosesc: eroare, defecțiune sau defecțiune.

Sistemele inginerești reprezintă o clasificare largă care cuprinde, dar nu se limitează la: software, hardware, electronice, circuite și mașini.

Rezultatul nedorit poate fi clasificat și descris în mai multe feluri, inclusiv: intermitent, tranzitoriu, glitch, crash sau blocaj.

Deoarece caracterul dezirabil este subiectiv, ceea ce este considerat indezirabil pentru cineva poate fi considerat dezirabil pentru altcineva; chiar și o caracteristică utilă.

Cuvântul din engleza medie „bugge” stă la baza termenilor „bugbear și „bugaboo ca termeni utilizați pentru un monstru.[1]

Termenul „bug” pentru a descrie un defect a fost folosit în jargonul ingineriei cel puțin din anii 1870 - cu mult înainte de apariția calculatoarelor electronice și a programelor informatice. De exemplu, Thomas Edison a scris următoarele cuvinte într-o scrisoare adresată unui asociat în 1878:

„Așa a fost în toate invențiile mele. Primul pas este o intuiție și vine cu o izbucnire, apoi apar dificultățile - acest lucru cedează și [este] atunci când „Bugs” - așa cum sunt numite aceste mici defecte și dificultăți - se arată și sunt necesare luni întregi de observare intensă, studiu și muncă înainte de a se ajunge cu siguranță la succes comercial sau la eșec.[2]

Într-o bandă desenată tipărită într-o revistă a industriei telefonice din 1924, un personaj naiv aude că un bărbat are o slujbă de „vânător de bug-uri” și îi face cadou un scărpinător de spate. Bărbatul îi răspunde „nu știi că «vânător de insecte» este doar o poreclă pentru un reparator?”[3]

Baffle Ball, primul joc de pinball mecanic, a fost promovat ca fiind „lipsit de erori” în 1931.[4]

Problemele cu echipamentul militar din timpul celui de-al Doilea Război Mondial erau denumite bug-uri (sau glitches).[5]

În filmul din 1940, Flight Command, un defect al unui dispozitiv de detectare a direcției se numește bug.

Într-o carte publicată în 1942, Louise Dickinson Rich⁠(d), vorbind despre o mașină de tăiat gheață cu motor, spunea: „Tăierea gheții a fost suspendată până când creatorul a putut fi adus pentru a scoate bug-urile din dragul său”.[6]

Isaac Asimov a folosit termenul bug pentru a se referi la problemele unui robot în povestirea sa „Catch That Rabbit”, publicată în 1944.

O pagină din jurnalul computerului electromecanic Harvard Mark II⁠(d), care prezintă o molie moartă care a fost îndepărtată din dispozitiv.

Grace Hopper, pionier al calculatoarelor și contraamiral, a popularizat o poveste despre o molie care a cauzat o problemă la un calculator electromecanic timpuriu.[7] În timp ce Hopper lucra la Mark II⁠(d) și Mark III⁠(d) ca profesor la Harvard, în jurul anului 1946, operatorii au descoperit că o eroare din Mark II era cauzată de o molie prinsă într-un releu. Molia a fost scoasă din mecanism și lipită într-un jurnal cu nota „Primul caz real de găsire a unei insecte”.[8] Se pare că operatorii, inclusiv William „Bill” Burke, care mai târziu a lucrat la Laboratorul de Arme Navale din Dahlgren, Virginia⁠(d),[9] erau familiarizați cu termenul de inginerie și probabil că făceau o glumă confundând cele două sensuri ale cuvântului bug (biologic și defect). Deși probabil o glumă, povestea indică faptul că termenul era utilizat în mod obișnuit în domeniul calculatoarelor la acea vreme.[10][11][12][13] Jurnalul de bord, cu tot cu molie, face parte din colecția Muzeului Național de Istorie Americană Smithsonian.[12]

Termenul înrudit debugging pare, de asemenea, să fie anterior utilizării sale în domeniul informaticii: etimologia cuvântului din Oxford English Dictionary conține o atestare din 1945, în contextul motoarelor de avion.[14]

„Nu este un bug, este o caracteristică”

[modificare | modificare sursă]

Deoarece bug-ul implică un comportament nedorit, numirea unui comportament ca fiind un bug este subiectivă, astfel încât ceea ce unii consideră un bug nu este considerat de alții. De fapt, comportamentul poate fi considerat o caracteristică utilă, de aceea o expresie comună este „Nu este un bug, este o caracteristică” (INABIAF). Această glumă este consemnată în The Jargon File din 1975, dar datează din 1971, când programatorul PDP-8⁠(d) Sandra Lee Harris de la Digital Equipment Corporation (DEC) a făcut distincția între problemele care trebuiau rezolvate în codul pentru interpretorul FOCAL⁠(d) al DEC și cele care trebuiau documentate sau clarificate în manualul de utilizare.[15]

Un astfel de comportament poate fi comunicat în mod explicit utilizatorilor sau nu ca o caracteristică nedocumentată.

  1. ^ Computerworld staff (). „Moth in the machine: Debugging the origins of 'bug'. Computerworld. Arhivat din original la . 
  2. ^ Edison to Puskas, 13 November 1878, Edison papers, Edison National Laboratory, U.S. National Park Service, West Orange, N.J., cited in Hughes, Thomas Parke (). American Genesis: A Century of Invention and Technological Enthusiasm, 1870-1970. Penguin Books. p. 75. ISBN 978-0-14-009741-2. 
  3. ^ Cy Meyn, Hattie the Hello Girl, The Mountain States Monitor Vol. XIX, No. 1 (Jan, 1924), Mountain States Telephone and Telegraph Co.; page 34, bottom.
  4. ^ „Baffle Ball”. Internet Pinball Database. (See image of advertisement in reference entry) 
  5. ^ Citare goală (ajutor) 
  6. ^ Dickinson Rich, Louise (), We Took to the Woods, JB Lippincott Co, p. 93, LCCN 42024308, OCLC 405243, arhivat din original la . 
  7. ^ FCAT NRT Test, Harcourt,  
  8. ^ „Danis, Sharron Ann: "Rear Admiral Grace Murray Hopper". ei.cs.vt.edu. . Accesat în . 
  9. ^ IEEE Annals of the History of Computing, Vol 22 Issue 1, 2000
  10. ^ James S. Huggins. „First Computer Bug”. Jamesshuggins.com. Arhivat din original la . Accesat în . 
  11. ^ "Bug Arhivat în , la Wayback Machine.", The Jargon File, ver. 4.4.7. Retrieved June 3, 2010.
  12. ^ a b "Log Book With Computer Bug Arhivat în , la Wayback Machine.", National Museum of American History, Smithsonian Institution.
  13. ^ "The First "Computer Bug", Naval Historical Center. But note the Harvard Mark II⁠(d) computer was not complete until the summer of 1947.
  14. ^ Journal of the Royal Aeronautical Society. 49, 183/2, 1945 "It ranged ... through the stage of type test and flight test and 'debugging' ..."
  15. ^ FOCAL Programming Manual for PDP-8, PDP-8/S, PDP-8/I, LAB-8, LINC-8 (PDF). Digital Equipment Corporation. . DEC-08-AJAB-D.