Wikiwand AI

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. 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 y schrödinbug han sido propuestos ocasionalmente para otro tipo de bugs inusuales; de todos modos, no son tan conocidos ni empleados como el "heisenbug". From Wikipedia, the free encyclopedia

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,[2] mandelbug[3][4][5] y schrödinbug[6][7] han sido propuestos ocasionalmente para otro tipo de bugs inusuales;[8][9] de todos modos, no son tan conocidos ni empleados como el "heisenbug".[10][2]

Un Mandelbug (del apellido de Benoît Mandelbrot, matemático famoso por su estudio de fractales) es un bug tan complejo que no se puede encontrar una manera de eliminarlo, o cuyo efecto parece caótico y parece no determinista.

Los Mandelbugs son fallas que son provocadas por condiciones complejas, como la interacción con el hardware y otro software, y el tiempo o el orden de los eventos. Estas fallas son considerablemente difíciles de detectar con las pruebas tradicionales.

Entonces, el modo de operar de los Mandelbugs consiste en cimentar su existencia en causas tan complejas que sea difícil comprenderlas y atacarlas. Con cada solución que se intente, sólo se conseguirá un comportamiento distinto pero no se logrará eliminar. Además, este tipo de bug es capaz de formarse a sí mismo a partir de una combinación de pequeños detalles en muchas porciones de código aparentemente inconexas. Por lo tanto, para solucionarlos se puede aplicar ingeniería inversa.[11]

Varios tipos de errores difíciles y complicados podrían llamarse mandelbugs. La idea común es que estos errores son resistentes a las correcciones, debido a sus propiedades caóticas o "no deterministas". Por ejemplo, una característica común de un mandelbug sería la dificultad que tendrían los equipos de prueba para replicarlo consistentemente. Errores como estos a menudo están ocultos en las esquinas del código, en cualquier ambigüedad sobre el tiempo, el uso de variables u otros aspectos del código fuente subyacente para el producto.

Mandelbug es el antónimo complementario de Bohrbug.

Bohrbugs

Resulta casi intuitivo saber que los Bohrbugs son errores de software, o simplemente fallos en un programa de computador o sistema de software que desencadena un resultado indeseado (bug) que se asemejan al modelo de átomos de Bohr, de ahí el nombre.

Los llaman 'bohrbugs': errores software tan raros que son casi imposible de ser aislados y replicados.

La denominación incluye como parte inicial del nombre al átomo de Bohr porque representa un error sólido y fácilmente detectable. Por este motivo es quizás el error más aburrido de investigar. Es fácil de encontrar y la mayoría de las veces fácil de corregir.

Un Bohrbug es un error, defecto o falla que aparece bajo condiciones consistentes y cuantificables, por lo tanto, representa un error sólido y fácilmente detectable. Además de que no cambia su comportamiento. La contraparte de un Bohrbug es un error de Heisenbug, uno que no se puede replicar fácilmente en condiciones definidas comúnmente. Como se ha dicho, es considerado como un bug fácil y sencillo de resolver, basta con ejecutar las condiciones identificables y verificar si hay errores.[12]

Ejemplos

Referencias

Enlaces externos

Related Articles

Timelines

Top Qs

Fact Checks