A tan sólo unos días de que termine el año es un momento para reflexionar acerca de los errores que se pudieron haber cometido a lo largo del año para no repetirlos. Este contexto nos ofrece la oportunidad de analizar, un poco, la historia de la informática es apasionante, muchas veces para lo bueno, pero también para lo malo.
Entre las historias fatídicas de la informática, siempre han destacado las relacionadas con los errores software y las grandes catástrofes que estos han producido.
Eso a pesar de que, en el día a día, en las empresas para las que muchos trabajamos, los costes que pueden desencadenar los errores en el software no se tratan suficiente seriedad.
Las migraciones por el año 2000
Se esperaba que el bug Y2K paralizase al mundo a la medianoche del 1 de enero 2000, ya que mucho software no había sido previsto para trabajar con el año 2000. El mundo no se acabó, pero se estima que se gastaron 296,7 billones de dólares para mitigar los daños.
Apagón del 2003 en Estados Unidos
Los técnicos de equipos informáticos lo pasan realmente mal cuando tienen que instalar una nueva versión de un programa en sus máquinas, y lo cierto es que el tiempo dice que se preocupan con razón. Un ejemplo claro fue el del software de control de las centrales de distribución de energía eléctrica de los EU.
Un fallo en el nuevo software de control, que, si se colgaba, enviaba una señal al resto de centrales para que pudieran reaccionar. El problema era que esta señal hacía que las máquinas que la recibían se colgaran y reiniciaran, enviando a su vez el fatídico mensaje a cada vez más centrales de distribución. El resultado fue que se bloquearon más de 100 plantas eléctricas y más de 50 millones de hogares estuvieron sin electricidad hasta que se detectó el error.
La destrucción del Mariner I en 1962
El del Mariner I, una sonda espacial que se dirigía a Venus, se desvió de la trayectoria de vuelo prevista poco después del lanzamiento. Desde control se destruyó la sonda a los 293 segundos del despegue. La causa fue una fórmula manuscrita que se programó incorrectamente.
Ataque por Ping
Con la popularización de Internet, surgieron los primeros fallos importantes relativos a la manera que tenían de interactuar los sistemas operativos existentes con la Red. El más grave fue el «ping of death», que duró de 1995 a 1996. Un «ping» es una señal que puede lanzarse un ordenador a otro para comprobar que ésta «rebota» y vuelve, comprobando en primer lugar que la dirección destino existe y está operativa, y en segundo el tiempo que tarda en realizar el trayecto. Sin embargo, si se modificaba el código de este paquete de información deliberadamente, se podía hacer que el ordenador destino se colgase sin remisión. Aunque los principales afectados fueron computadoras con sistemas operativos de Microsoft, este tipo de ataque también afectó a equipos.
Explosión del cohete Arian
En el 1996, el cohete Ariane 5 de la Agencia Espacial Europea estalló. El Ariane explotó porque un número real de 64 bits (coma flotante) relacionado con la velocidad se convirtió en un entero de 16 bits.
Mars Climate Orbiterm
En 1999 los ingenieros de la NASA perdieron el contacto con la Mars Climate Orbiter en su intento que orbitase en Marte. La causa, un programa calculaba la distancia en unidades inglesas (pulgadas, pies y libras), mientras que otro utilizó unidades métricas.
Eurofighter
Cuanta más tecnología a bordo de un aparato militar, más posibilidades de que algo falle. Una simple línea de código mal programada puede hacer que un sistema vital para un avión de combate deje de funcionar… como en el caso del Eurofighter Typhoon.
Durante una de las pruebas en vuelo de uno de los primeros Eurofighter que tuvo el Ejército del Aire español, uno de los tests consistía en simular un fallo de uno de los dos motores del avión, apagándolo para ver cómo reaccionaba el avión con un solo motor. Efectivamente, lo peor que podía pasar, pasó.
Cuando se apagó el motor, los pilotos rápidamente se percataron de que el otro motor también se apagaba. Intentaron realizar las pruebas de reinicio del reactor en vuelo, pero sin resultado. Al llegar a la altura mínima de seguridad, no tuvieron más remedio que eyectarse. Estudios posteriores revelaron que el software del avión estaba mal programado, y que el apagado manual de un motor en vuelo causaba el cierre erróneo de la válvula de combustible, que no podía volver a ser abierta en vuelo.