fbpx
Wikipedia

Heisenbug

En jerga de programación, un heisenbug es un tipo de bug que parece desaparecer o comportarse de otro modo al intentar ser observado en detalle.[1]​ El término es un juego de palabras a partir del nombre de Werner Heisenberg, el físico que dedujo el efecto de observación de la mecánica cuántica, según el cual el mero hecho de observar un sistema de una manera determinada altera el estado de este.

Términos similares como bohrbug, mandelbug,[2][3][4]​ y schrödinbug[5][6]​ han sido propuestos ocasionalmente para otro tipo de bugs inusuales;[7][8]​ de todos modos, no son tan conocidos ni empleados como el "heisenbug".[9]

Ejemplos

Los Heisenbugs se producen porque los frecuentes intentos de depuración de un programa informático, como la inserción de declaraciones de entrada y salida o la ejecución (cálculo) con un depurador, suelen tener el efecto secundario de cambiar sutilmente el comportamiento del programa, como el cambio de la dirección de memoria de las variables y el tiempo de ejecución.

Un ejemplo común de heisenbug es un error que se produce cuando el programa se compila con un compilador de optimización, pero no cuando el mismo programa se compila sin optimización (como suele hacerse con el fin de examinarlo con un depurador). Durante la depuración, los valores que un programa optimizado normalmente guardaría en los registros se desplazan a menudo a la memoria principal. Esto puede afectar al resultado de las comparaciones en coma flotante, por ejemplo, porque el valor en memoria puede tener un rango menor y una precisión menor que el valor en el registro. De manera similar, los heisenbugs pueden ser causados por efectos secundarios en las expresiones de prueba que se utilizan en tiempo de ejecución para evaluar aserciones en lenguajes como C y C++, donde la expresión de prueba no se evalúa si las aserciones se desactivan en el código de producción utilizando la macro NDEBUG.

Referencias

  1. «The Jargon File: heisenbug». 
  2. «The Jargon File: Mandelbug». Catb.org. Consultado el 5 de septiembre de 2013. 
  3. Raymond, Eric S.; The New Hacker's Dictionary, 3rd edition, 1996
  4. Clarke, Arthur C., The Ghost from the Grand Banks, Bantam Books, 1990
  5. «The Jargon File: Schroedinbug». Catb.org. Consultado el 5 de septiembre de 2013. 
  6. Raymond, Eric S.; The New Hacker's Dictionary, 3rd edition, 1996
  7. The following article investigates the various definitions of bohrbug, mandelbug and heisenbug proposed in the literature, as well as the statements made about the relationships between these fault types: Grottke, Michael; and Trivedi, Kishor S.; Software Faults, Software Aging and Software Rejuvenation, Journal of the Reliability Engineering Association of Japan, Vol. 27, No. 7, pp. 425-438, 2005.
  8. Grottke, Michael; and Trivedi, Kishor S.; , IEEE Computer vol. 40, no. 2 (February 2007), pp. 107-109
  9. A February 2012 Google Books search returns about 70 hits for "schroedinbug", 100 for "mandelbug", 400 for "bohrbug" or "heisenbug".

Enlaces externos

  • The Heisenberg Debugging Technology
  •   Datos: Q54270

heisenbug, jerga, programación, heisenbug, tipo, parece, desaparecer, comportarse, otro, modo, intentar, observado, detalle, término, juego, palabras, partir, nombre, werner, heisenberg, físico, dedujo, efecto, observación, mecánica, cuántica, según, cual, mer. En jerga de programacion un heisenbug es un tipo de bug que parece desaparecer o comportarse de otro modo al intentar ser observado en detalle 1 El termino es un juego de palabras a partir del nombre de Werner Heisenberg el fisico que dedujo el efecto de observacion de la mecanica cuantica segun el cual el mero hecho de observar un sistema de una manera determinada altera el estado de este Terminos similares como bohrbug mandelbug 2 3 4 y schrodinbug 5 6 han sido propuestos ocasionalmente para otro tipo de bugs inusuales 7 8 de todos modos no son tan conocidos ni empleados como el heisenbug 9 Ejemplos EditarLos Heisenbugs se producen porque los frecuentes intentos de depuracion de un programa informatico como la insercion de declaraciones de entrada y salida o la ejecucion calculo con un depurador suelen tener el efecto secundario de cambiar sutilmente el comportamiento del programa como el cambio de la direccion de memoria de las variables y el tiempo de ejecucion Un ejemplo comun de heisenbug es un error que se produce cuando el programa se compila con un compilador de optimizacion pero no cuando el mismo programa se compila sin optimizacion como suele hacerse con el fin de examinarlo con un depurador Durante la depuracion los valores que un programa optimizado normalmente guardaria en los registros se desplazan a menudo a la memoria principal Esto puede afectar al resultado de las comparaciones en coma flotante por ejemplo porque el valor en memoria puede tener un rango menor y una precision menor que el valor en el registro De manera similar los heisenbugs pueden ser causados por efectos secundarios en las expresiones de prueba que se utilizan en tiempo de ejecucion para evaluar aserciones en lenguajes como C y C donde la expresion de prueba no se evalua si las aserciones se desactivan en el codigo de produccion utilizando la macro NDEBUG Referencias Editar The Jargon File heisenbug The Jargon File Mandelbug Catb org Consultado el 5 de septiembre de 2013 Raymond Eric S The New Hacker s Dictionary 3rd edition 1996 Clarke Arthur C The Ghost from the Grand Banks Bantam Books 1990 The Jargon File Schroedinbug Catb org Consultado el 5 de septiembre de 2013 Raymond Eric S The New Hacker s Dictionary 3rd edition 1996 The following article investigates the various definitions of bohrbug mandelbug and heisenbug proposed in the literature as well as the statements made about the relationships between these fault types Grottke Michael and Trivedi Kishor S Software Faults Software Aging and Software Rejuvenation Journal of the Reliability Engineering Association of Japan Vol 27 No 7 pp 425 438 2005 Grottke Michael and Trivedi Kishor S Fighting Bugs Remove Retry Replicate and Rejuvenate IEEE Computer vol 40 no 2 February 2007 pp 107 109 A February 2012 Google Books search returns about 70 hits for schroedinbug 100 for mandelbug 400 for bohrbug or heisenbug Enlaces externos EditarThe Heisenberg Debugging Technology Datos Q54270Obtenido de https es wikipedia org w index php title Heisenbug amp oldid 125370028, wikipedia, wiki, leyendo, leer, libro, biblioteca,

español

, española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos