5 bugs informáticos que marcaron la historia

En la era digital, los bugs informáticos pueden llegar a afectar nuestras vidas, la economía de una nación e incluso el buen funcionamiento de la sociedad, en general. A medida que el internet de las cosas vaya invadiendo poco a poco todos los aspectos de nuestro entorno, la importancia de identificar y prevenir los bugs informáticos crecerá de forma exponencial.

A continuación te presentamos 5 bugs informáticos que marcaron la historia.

1 – La leyenda del primer bug informático

bug01

Dicen que este fue el primer verdadero “bug” (bicho) encontrado dentro de un ordenador (Fuente: Naval Historical Center Online Library Photograph)

La leyenda cuenta que tras localizar una polilla en el Harvard Mark II el 9 de septiembre de 1947 a las 15:45, Grace Murray Hopper registró el primer “bug” informático en su libreta (log book) con la frase “First actual case of bug being found”. Para muchos, Grace Hopper fue la persona que acuñó este término para referirse a errores en el código de un programa informático que provocan resultados no deseados; si bien, la palabra “bug” ya se usaba antes de 1947 en ingeniería.

2 – El Efecto 2000

bug02

Las portadas de los diarios sensacionalistas decían: “¡El día en el cual se parará el mundo!” o “El bug del año 2.000 hará que las máquinas se vuelvan en contra del ser humano”

Los desarrolladores de software del siglo pasado nunca habrían pensado que sus creaciones sobrevivirían hasta el nuevo milenio. Por esta razón, muchos asumieron que escribir “19” antes de las variables “año” era un gasto de memoria innecesario. La mayoría decidió omitir esto dos dígitos.

Todo bien hasta que nos acercamos al 31 de diciembre de 1999: nos dimos cuenta que, por esa decisión, los sistemas informáticos pasarían en año nuevo al 1 de enero de 1900 en lugar de 2000 y, a raíz de esto, se desatarían grandes catástrofes y sería el fin de la humanidad.

Sin embargo, seguimos aquí para contarlo: los misiles nucleares no se dispararon solos, no cayeron aviones del cielo y los bancos no perdieron toda la información de sus clientes.

Este bug fue real. Se gastaron miles de millones de dólares para actualizar sistemas informáticos en todo el planeta. Además, se registraron algunos incidentes, aunque no muy críticos: En España, fallaron unos parquímetros. El instituto francés de meteorología publicó en su web un parte del tiempo del 1 de enero de 19100 y en Australia, las máquinas validadoras de algunos autobuses dejaron de funcionar.

3 – El misil de Dhahran

En febrero 1991 (1ª Guerra del Golfo), un misil iraquí alcanzó la base de Dhahran en Arabia Saudí, matando a 28 soldados estadounidenses.

Tras una investigación, se determinó que el sistema de protección antibalístico de la base falló por consecuencia de un bug informático: la batería de misiles Patriot, cuyo papel es detectar e interceptar los misiles enemigos para “chocar” con ellos en el aire, llevaba 100 horas en funcionamiento. Cada hora que pasaba, el software que controlaba dicha batería redondeaba los valores del reloj digital de una forma mínima. Sin embargo, este error mínimo hizo que se acumulara un retraso de ⅓ de segundo al cabo de dichas 100 horas.

Para un persona, 0.33 segundos son una cantidad infinitesimal; pero para un radar que trata de localizar un misil Scud – Al Hussein cuya velocidad alcanza Mach 4.2 (1.5 Km por por segundo), este “micro-retraso” supone 600 metros de error. En el caso del incidente de Dhahran, el radar identificó en una primera instancia un objeto en el cielo pero no lo pudo confirmar debido al error, por lo que el misil antibalístico no se disparó.

 

patriot infografía

4 – ¿En metros o en pies? El caso del Mars Climate Orbiter

bug03

Trayectoria prevista -vs- Trayectoria real (Fuente: Wikimedia)

La sonda Mars Climate Orbiter fue lanzada en el año 1998 con el objetivo de estudiar el clima en Marte, si bien, esta nunca logró cumplir su misión.

Tras varios meses viajando por el espacio, la sonda se destruyó por causa de un error de navegación: los equipos que controlaban la sonda desde la Tierra usaba parámetros en unidades Imperiales (Sistema Anglosajón de Unidades) mientras que los cálculos se realizaban en el sistema con el sistema métrico decimal. Estos errores de cálculo fueron impactando la trayectoria a lo largo de los días y, finalmente, la sonda quedó destruída al pasar por la atmósfera de Marte (con casi 100 km de error).

5 – Demasiados números para Ariane 5

bug04

370 millones de dólares cayendo del cielo (Source: ESA)

A la hora de escribir un programa informático, un desarrollador tiene la oportunidad de definir el tamaño de las variables que interpretará el ordenador. Estos tamaños se expresan en bits y limitan, dentro de la memoria, el número de dígitos que puede contener la variable.

Por ejemplo, una variable de 16 bits puede ser cualquier valor entre −32.768 a 32.767

En cambio, una variable de 64 bits tiene un rango entre −9.223.372.036.854.775.808 y 9.223.372.036.854.775.807 (casi una infinidad de posibilidades).

El 4 de junio de 1996 y a los 30 segundos de despegar, el cohete Ariane 5 empezó a desintegrarse poco a poco, hasta su explosión. Tras realizar simulaciones con un sistema de vuelo y condiciones similares a las del vuelo 501, se descubrió que en el software del cohete (que provenía de Ariane 4), una variable de 64 bits con decimales se transformaba en una variable de 16 bits sin decimales.

Estas variables, al ocupar diferente tamaño en la memoria, desencadenaron una serie de bugs que afectaron a todos los ordenadores de vuelo y que paralizaron todo el hardware de la nave, activando su secuencia de autodestrucción.

Bonus – BSOD en la presentación de Windows 98

Bill Gates y miles de personas presenciaron el famoso BSOD (Blue Screen of Death – Pantalla azul de la muerte)en directo en la presentación de Windows 98.

Abdallah Aberouch para OpenMind
@aberouch