Selecciona Edición
Conéctate
Selecciona Edición
Tamaño letra

Fallos técnicos desastrosos que pasaron desapercibidos demasiado tiempo

Un reciente error informático ha arrojado sombras de dudas sobre miles de trabajos científicos acerca de la actividad en el cerebro

Una imagen por resonancia magnética funcional mide la cantidad de oxígeno consumido por las neuronas en zonas del cerebro de entre 2 y 8 milímetros cúbicos. Ampliar foto
Una imagen por resonancia magnética funcional mide la cantidad de oxígeno consumido por las neuronas en zonas del cerebro de entre 2 y 8 milímetros cúbicos.

Hace unos días ha surgido una interesante controversia sobre un fallo informático que combinado con ciertas malas prácticas ha puesto en entredicho algunos trabajos científicos de investigación de los últimos 15 años. Aunque el problema no resultó ser tan grave como se creía inicialmente despertó el fantasma que sobrevuela cada vez que un pequeño bug informático (un error de software conocido como bicho) provoca alguna catástrofe en una máquina o sistema de control complejo. ¿Tan difícil es crear software completamente exento de fallos? ¿No se pueden prever todos los problemas que pueden surgir? ¿Es seguro encomendar tareas críticas a algo tan etéreo como un algoritmo que puede fallar?

Es imposible prever todos los problemas que pueden surgir. Hay programas en los que las variables toman valores imposibles o no previstos

En la práctica es imposible prever todos los problemas que pueden surgir; hay programas en los que las variables toman valores imposibles o no previstos, fallos que afectan a los sistemas operativos sobre los que corren esos programas o incluso problemas de fondo muy difíciles de descubrir que dan al traste con cualquier prueba previa. Por poner algunos ejemplos de bugs sorpresa: hace años, una división por cero dejó un crucero militar tres horas a la deriva hasta que se localizó el fallo; también se sabe que varias sondas espaciales y experimentos fracasaron estrepitosamente por la falta de una coma decimal o por haber confundido las unidades (como millas náuticas por pies) y que ha habido diversos fallos en los pilotos automáticos de ciertos aviones, normalmente de combate.

Décadas de estudios cuestionados

El caso más reciente está relacionado con las técnicas de la imagen por resonancia magnética funcional (fMRI). El problema se encontró en el software que agrupa en "zonas de actividad" los vóxeles (píxeles 3D) en que se reconstruye el cerebro a partir de imágenes 2D. Según unos investigadores suecos las "agrupaciones de zonas de actividad" que los radiólogos y neurólogos luego examinan con su experiencia y buen saber para validar sus hipótesis venían sesgadas por bugs y fallos estadísticos en el software con el que se habían procesado.

Uno de los fallos históricos más complejos de detectar por inusual y casi inconcebible fue el de los cálculos erróneos del procesador Pentium de Intel

El resultado es que han podido darse más "falsos positivos" de lo normal en cerca de 3.500 estudios (originalmente se hablaba de 40.000 pero luego se redujo el número). Como para mayor desgracia en muchos de esos trabajos no se publican ni guardan los datos originales de las fMRI –sino solo los resultados ya agrupados– no es posible examinar los originales para realizar una comprobación. Por fortuna esto solo habría afectado a ciertas fMRI, no a todas que se procesan por otros métodos, por lo que muchos otros estudios no se habrían visto afectados.

Pentium: más de un año calculando regular

Uno de los fallos históricos más complejos de detectar por inusual y casi inconcebible fue el de los cálculos erróneos del procesador Pentium de Intel. Este chip presentado en 1993 incluía una «unidad de coma flotante» para acelerar los cálculos, pero por alguna razón algunos de esos cálculos (divisiones) no arrojaban el resultado correcto. Por ejemplo, el Pentium original calculaba 4195835,0 / 3145727,0 = 1,333739… cuando el resultado real es 1,333820… Cualquiera podía comprobarlo con Excel, la Calculadora de Windows o cualquier programa escrito en Basic.

Imagen de un Intel Pentium tomada en 1995.
Imagen de un Intel Pentium tomada en 1995.

El fallo lo detectó un profesor que se pasaba el día mascando números: andaba investigando ciertas secuencias de números primos cuando observó ciertas extrañas diferencias que no supo atribuir a problemas de software. Luego recordó que había incorporado recientemente un PC equipado con un Pentium a sus equipos de cálculo. Bug cazado.

Ni siquiera Intel conocía el bug cuando se lo comunicaron por primera vez, cuanto más se investigaba su procedencia más problemas y desviaciones surgían por todas partes. Se llegó a calcular que uno cada 9.000 millones de divisiones hechas por un Pentium sería errónea; algunas en hasta 61 partes por millón. Con billones de estas divisiones cada segundo calculándose en ordenadores de todo el mundo –algunos de ellos realmente en tareas realmente críticas– no era una cuestión baladí.

El problema de este bug es que afectaba a todo software que corriera sobre el ordenador: el software simplemente no podía fiarse de que los cálculos básicos fueran correctos. Tras detectar el origen del problema Intel tuvo que reemplazar todos los procesadores defectuosos, lo que supuso cerca de 500 millones de dólares de la época. Un dineral por culpa de tener unas tablas de dividir erróneas grabadas en aquellos chips.

En el campo de la medicina se siempre recuerda el bug del software del dispositivo médico de radioterapia Therac-25 de 1982

Errores de vida o muerte

En el campo de la medicina se siempre recuerda el bug del software del dispositivo médico de radioterapia Therac-25 de 1982. Debido a un fallo del software de control esta máquina irradiaba en raras ocasiones una sobredosis cientos de veces superior a la debida a los pacientes; murieron al menos tres personas debido a ello.

El fallo del Therac-25 fue toda una serie de desdichas: eliminación de hardware de seguridad para confiárselo al software, fallos de programación, manipulación errónea por parte de los operadores… El caso era que si se pulsaba cierta secuencia de teclas erróneamente en un breve periodo de tiempo se producía el fallo y después la dosis de radiación pasaba a ser mortal. Debido a las complejas circunstancias que lo activaban, este bug pasó inadvertido más de un año; luego se revisaron todas las máquinas y el software que incorporaban. El lado bueno de este desastre fue que concienció a todo tipo de profesionales, tanto médicos como informáticos, acerca de la necesidad de más y mejores pruebas en este tipo de sistemas.

Más información