Heisenbug

Vuonna ammattikieltä ohjelmakauden, heisenbugs on vika, joka tuntuu katoavan tai käyttäytyy eri tavalla, kun yrität tutkia sitä ja debug sitä. Termi on sanaleikki nimen Werner Heisenberg, fyysikko formuloijan Heisenbergin epävarmuuden periaate. Tämän periaatteen mukaan, viitaten kvanttimekaniikka, jo pelkästään tarkkailla ilmiö muuttaa jossain määrin sama ilmiö. Ratkaisemiseksi heisenbugs tarvitset debug paljon huomannut, ehkä analyysiin kaatopaikka prosessin ja kirjaudu nukkaa tai muita vastaavia ohjelmistoja.

Ohjelmoijat voivat viitata ivallisesti heisenbugs väittäen, että ohjelman käyttäytyminen riippuu kuun, tai, jos käyttäytyminen on havaittu vain kerran, aiheutti ilmiöistä epätodennäköistä, koska toiminta kosmisten säteiden laitteiston.

Liittyviä termejä viitata muita vikoja ovat erityisiä bohrbug, mandelbug, ja schrödinbug.

Esimerkit

Heisenbugs johtuu siitä, että virheenkorjaus tekniikoissa muuttamalla lähdekoodin jossain määrin, tai muuttamalla järjestelmän tilasta suorituksen, esimerkiksi käsitellään muuttujien tai määräajasta. Siksi, jos vika riippuu sellaisista tekijöistä hänen käyttäytymistä voidaan muuttaa yrittää samalla virheenkorjaus.

Heisenbugs voi ilmetä, kun ohjelma on käännetty optimointiohjeita, mutta sama ongelma voi ilmetä, kun sama koodi on käännetty ilman optimointia. Kun virheenkorjaus muuttujia, jotka jäävät kirjaa ne pidetään usein muistiin sen sijaan, ja tämä voi vaikuttaa tulokseen liukulukuja, koska arvot muistiin voi olla erilaisia ​​tarkkuus kuin rekistereihin. Heisenbugs voi johtua myös sivuvaikutuksena käytetyt ilmaisut väittämiä suorituksen testausta varten, joita esiintyy tai katoavat, kun väitteet ovat pois käytöstä.

Heisenbugs voi johtua myös aikaan tekijä, erityisesti kun kyseessä ovat monisäikeisiä sovelluksia. Ohjelman suoritus valvonnassa debuggeri muuttaa ajoitus pelaa, ja rinnakkaisuus, esimerkiksi peittämällä joissakin tapauksissa kilpailutilanteesta, tai luoda ongelmia ohjelma vuorovaikutuksessa yhteisöt, jotka eivät ole valvonnassa debuggeri, esimerkiksi kun työt paketteja lähetetään verkossa muista koneista.

Historia termi

Termi esiintyy julkaisuista ACM vuodesta 1983. Sitä käytettiin 1985 Jim Gray artikkelissa ohjelmistojen epäonnistumisia, ja vuonna 1986 Jonathan Clark ja Stewart Zhahai listaa comp.risks.

Liittyvät ehdot

Toisin kuin heisenbugs, bug "kiinteä", joka ei muuta sen käyttäytymistä, sanotaan bohrbug, koska se on deterministinen kuin atomi malli muotoileman Bohr.

Mandelbug on vika niin monimutkainen, että et löydä tapa poistaa se, tai joiden vaikutus näkyy kaoottinen ja ei näytä deterministinen.

Yksi schrödinbug on vika, joka ei ilmetä vasta joku ei käytä ohjelmaa epätavallinen tai ohjaa koodin ja huomaa, että ohjelma ei olisi koskaan toiminut.

Hindenbug on bugi, jonka seuraukset ovat erityisen vakavia.

  0   0
Edellinen artikkeli Palestro
Seuraava artikkeli Lorenzo Ghiselli

Aiheeseen Liittyvät Artikkelit

Kommentit - 0

Ei kommentteja

Lisääkommentti

smile smile smile smile smile smile smile smile
smile smile smile smile smile smile smile smile
smile smile smile smile smile smile smile smile
smile smile smile smile
Merkkiä jäljellä: 3000
captcha