Heisenbug

Az oldal jelenlegi verzióját még nem ellenőrizték tapasztalt hozzászólók, és jelentősen eltérhet a 2016. november 21-én felülvizsgált verziótól ; az ellenőrzések 30 szerkesztést igényelnek .

A Heisenbug egy szleng kifejezés , amelyet a programozásban olyan szoftverhibák leírására használnak, amelyek  észlelésekor eltűnnek vagy megváltoznak a tulajdonságai. Ezt a szót, ellentétben a " bug " ( angol bug ) szóval, ritkán használják oroszul. Nem teljesen azonos, de jelentésében meglehetősen közel áll az orosz kifejezéshez - "lebegő hiba".  

Ilyenek lehetnek például a program végső verziójában megjelenő, de hibakeresési módban nem látható hibák, vagy a többszálú alkalmazások időzítési hibái .

A név eredete

Ez a név játék a szavakkal , és a kvantummechanikából származó " Heisenberg bizonytalansági elve " kifejezésből származik , amely a mindennapi szinten a megfigyelt objektumban a megfigyelés tényéből adódó váratlan változásként értendő.

Az ACM Queue-nak [1] adott interjújában Bruce Lindsay azt mondja, hogy jelen volt, amikor a kifejezést először használták a „ránézel – és eltűnik” értelemben (hasonlítsd össze Heisenberg szavaival , aki azt mondta: „ figyelmesebben nézel egy dolgot, annál kevésbé figyelsz valami másra.

Lehetséges okok

Ezek általában alacsony szintű problémák:

Optimalizálási hibák:

Harcmódszerek

A heisenbugokat nagyon nehéz keresni, mivel véletlenszerű tényezők függvényében jelennek meg, és instabilan reprodukálódnak (a többszálú rendszer állapotának elemzésének bonyolultsága is szerepet játszik). Ezért a tervezési szakaszban megpróbálják levágni őket, átgondolva a szinkronizálási eljárásokat.

Hasonló fogalmak

Ezek a szavak, valamint a "heisenbag" gyakorlatilag nem találhatók oroszul.

A Borbag ​​( angolul  Bohr bug ) egy olyan hiba, amely a Heisenbuggal ellentétben nem tűnik el, és nem változtatja meg a tulajdonságait, amikor megpróbálja észlelni, hasonlóan Niels Bohr elektronpályák modelljének stabilitásához . Hasonló orosz nyelvű analóg a „stabil” vagy „fenntartható” hiba [2] , „szisztematikus hiba”.

A  mandelbug olyan hiba , amelynek viselkedése annyira összetett, hogy kaotikusnak tűnik [3] . A név Benoit Mandelbrot , a fraktálgeometria alapítója nevéből származik . Érdemes azonban megjegyezni (a Turing-teszthez hasonló elv alapján ), hogy ha nincs mód a kaotikusnak tűnő hibák és az igazán kaotikusnak tűnő hibák elkülönítésére, akkor nincs értelme különbséget tenni a Mandelbug és egy Heisenbug [4] . Vannak, akik a mandelbug kifejezést használják olyan hibák leírására, amelyek viselkedése nem tűnik igazán kaotikusnak, de annyira összetett, hogy a javításhoz újra kell írni a programot. Ilyen hibára példa a rendszertervezésben elkövetett alapvető hiba [5] .

A Schroedinbug [6] ( eng.  schroedin bug - a Schrödinger macskájával  végzett gondolatkísérlet tiszteletére ) egy olyan hiba, amely semmilyen módon nem nyilvánul meg, hanem hirtelen felbukkan, ha valaki ráakad a forráskódban, vagy megpróbálja használni a programot szokatlan körülmények között, és rájön, hogy ilyen hiba esetén a rendszer egyáltalán nem tud működni. Ezt követően a program a hiba kijavításáig egyáltalán nem működik. Bár hihetetlenül hangzik, egyes programok tartalmaznak ilyen hibákat.

A hindenbug [7] [8] ( eng.  hinden bug - a hindenburgi léghajókatasztrófa neve után ) egy olyan hiba, amelynek katasztrofális következményei lehetnek, például az adatok teljes megsemmisülése.

A Higgs-bugson [8] [9] ( angol.  higgs-bugson - a Higgs -bozonnak nevezett részecske tiszteletére ) egy olyan hiba, amelynek létezését megjósolják (leggyakrabban közvetett adatok vagy egyetlen felhasználó jelentései alapján), de rendkívül nehéz, ha nem lehetetlen. , mesterségesen reprodukálni fejlesztési vagy tesztelési körülmények között. A kifejezés használható olyan hibával kapcsolatban is, amely a kódban nyilvánvaló (matematikai bizonyítás), de valós körülmények között soha nem figyelték meg.

Jegyzetek

  1. Bruce Lindsay. Beszélgetés Bruce Lindsay-vel  (angol)  // ACM Queue : magazin. - 2004. - november ( 8. sz.). Archiválva az eredetiből 2022. február 4-én.
  2. A szakzsargon fájl. Bohr-bug Archiválva : 2013. január 12. a Wayback Machine -nél 
  3. Az új hacker szótár archiválva : 2013. szeptember 8. a Wayback Machine -nál  .
  4. M. Grottke és KS Trivedi, Szoftverhibák, szoftveröregedés és szoftverfiatalítás. A japán megbízhatósági mérnöki szövetség folyóirata, 27. szám, 7. szám, 2005, 425-438. oldal.
  5. Michael Grottke, Kishor S. Trivedi, " Hibák elleni küzdelem: eltávolítás, újrapróbálkozás, replikáció és fiatalítás Archivált : 2010. március 27. a Wayback Machine -nél "  . Számítógép, 40. szám, 2. szám, 2007. február, 107–109. oldal, doi:10.1109/MC.2007.55
  6. A szakzsargon fájl. Schroedinbug Archivált : 2013. szeptember 8. a Wayback Machine -nél 
  7. Hindenbug . wiki.c2.com. Letöltve: 2019. október 24. Az eredetiből archiválva : 2020. augusztus 8..
  8. ↑ 12 Matt Lynley . 20 mulatságos programozási szakzsargon kifejezés, amelyeket érdemes használni a mérnökökkel való beszélgetés során . üzleti bennfentes. Letöltve: 2019. október 24. Az eredetiből archiválva : 2019. október 24.
  9. Új programozási szakzsargon . blog.codinghorror.com. Letöltve: 2019. október 24. Az eredetiből archiválva : 2019. november 4..