Programvarufel

Programvarufel  ( jargong bug ) - betyder ett fel i programmet eller i systemet, på grund av vilket programmet producerar oväntat beteende och, som ett resultat, resultatet. De flesta programvarufel uppstår från fel som gjorts av utvecklarna av programmet i dess källkod eller i dess design. Vissa fel uppstår också på grund av felaktig funktion av utvecklarverktyg, till exempel på grund av en kompilator som genererar felaktig kod.

Termen "mjukvarufel" används vanligtvis för att hänvisa till fel som visar sig i programmets drift, till skillnad från till exempel designfel eller syntaxfel. En rapport som innehåller information om en bugg kallas också en buggrapport  . En rapport om ett kritiskt problem ( eng. krasch ) som gör att programmet kraschar kallas en kraschrapport ( eng. kraschrapport ).   

Programvarufel lokaliseras och elimineras under testning och felsökning av programmet.

Etymologin för termen "bugg"

I betydelsen " svårfångade tekniska fel " användes ordet "bugg" ( eng.  bugg ) långt innan datorernas tillkomst av telegraf- och telefonbolagspersonal i samband med problem med elektrisk utrustning och radioteknik. År 1878 skrev Thomas Edison [1] :

”Så var det med alla mina uppfinningar. Det första steget är intuitionen, som kommer som en blixt, sedan uppstår svårigheter - enheten vägrar att fungera, och det är då "buggarna" dyker upp - som dessa små fel och svårigheter kallas - och det tar månader av noggrann observation, forskning och ansträngning innan det kommer till kommersiell framgång eller misslyckande."

Originaltext  (engelska)[ visaDölj] Det har varit precis så i alla mina uppfinningar. Det första steget är en intuition, och kommer med en bristning, sedan uppstår svårigheter - den här saken ger ut och [det är] då "Bugs" - som sådana små fel och svårigheter kallas - visar sig och månader av intensivt tittande, studier och arbetskraft krävs innan kommersiell framgång eller misslyckande verkligen uppnås.

Under andra världskriget användes buggar för att hänvisa till problem med radarelektronik.

Enligt en version tillämpades denna term först på ett programvarufel den 9 september 1947 [2] av Grace Hopper , som arbetade vid Harvard University med en Harvard Mark II -dator .. Efter att ha spårat felet i programmet till maskinens elektromekaniska relä fann hon en bränd mal mellan de slutna kontakterna. Den hämtade insekten tejpades in i en teknisk dagbok med en åtföljande ironisk inskription: " Första faktiska fallet av bugg som hittades " [3] . 

Betydelse och klassificering av programvarufel

Beroende på programvaruutvecklingsstadiet där felet upptäcks finns det:

Efter betydelse:

Efter uppträdande:

Efter plats och destination:

Beroende på felets natur, programmet och exekveringsmiljön kan felet uppstå omedelbart eller vice versa - gå obemärkt förbi under lång tid (till exempel Problem 2038 ).

Felet kan också visa sig som en sårbarhet som tillåter obehörig åtkomst till systemet eller en DoS-attack .

Sorter

Hitta och åtgärda buggar

För att felsöka ett program ( eng.  debugging ) använder mjukvaruutvecklare speciella debugger-program ( eng.  debugger ). Till exempel, på ett Windows - operativsystem kan du använda programmet WinDbg från Microsoft Debugging Tools for Windows-paketet. För GNU/Linux och ett antal andra UNIX-liknande operativsystem finns GDB debugger (GNU Debugger).

Felrapporter

Huvuddelen av felen felsöks vanligtvis vid kompilering och testning av programmet. Men några av felen hamnar fortfarande i den publicerade versionen och visas på slutanvändarnas datorer under driften av programvaran. För att förbättra kvaliteten på programvaran används speciella program, vars syfte är att fånga ett fel i målapplikationen, samla in nödvändig information om dess symptom och skicka en rapport via Internet till utvecklarna av denna programvara.

Till exempel , Dr. Watson , som som standard fångar upp fel i användarapplikationer och skickar en rapport till en speciell Microsoft -server . Som ett exempel kan vi också nämna de liknande biblioteken Breakpad [4] och CrashRpt [5] .

Konsekvenser

Se även

Anteckningar

  1. Källa: Edison till Puskas, 13 november 1878, Edison papers, Edison National Laboratory, US National Park Service, West Orange, NJ, citerad i Thomas P. Hughes, American Genesis: A History of the American Genius for Invention, Penguin Books 1989, sid.
  2. Loggbok med  datorbugg . National Museum of American History. Hämtad 26 juli 2019. Arkiverad från originalet 1 juni 2019.
  3. Danis, Sharron Ann: "Berre amiral Grace Murray Hopper" . ei.cs.vt.edu (16, 1997-02-16). Hämtad 20 januari 2015. Arkiverad från originalet 15 juni 2010.
  4. Breakpad . Google. Hämtad 11 augusti 2009. Arkiverad från originalet 3 februari 2012.
  5. CrashRpt . Arkiverad från originalet den 3 februari 2012.
  6. Popper, Nathaniel . Knight Capital säger att handelsglitch kostade 440 miljoner dollar  (engelska) , New York Times  (2 augusti 2012). Arkiverad från originalet den 5 oktober 2017. Hämtad 13 november 2017.

Länkar