QAbalgando por la historia (VI): Los Patriot ignoran un misil Scud que alcanza la base de Dhahran en la Guerra del Golfo

8 septiembre, 2022

misiles Patriot fallo informatico

Testing de Software

En la semana en que celebramos el Día del Tester de Software, en el 75 aniversario del descubrimiento pionero de un ‘bug’ informático por parte de Grace Murray Hopper, traemos a nuestra colección de post ‘QAbalgando por la historia’ este nuevo caso de error de programación. El escenario trágico fue la denominada como ‘Guerra del Golfo’, en los años 90 del pasado siglo. ¿Cómo se podría haber afrontado, de forma temporal, este error? Nuestro compañero Fernando Rosique nos cuenta la historia.

[contact-form-7 id="22307" title="Formulario Blog"]

Durante la ‘Guerra del Golfo’, iniciada tras la invasión de Kuwait por parte de Iraq el 2 de agosto de 1990 y la respuesta militar de una coalición internacional el 17 de enero de 1991, los misiles Patriot estadounidenses fueron parte fundamental del sistema de defensa de las bases que albergaban las tropas norteamericanas. El ejército israelí, que había comprado también este sistema defensivo al fabricante Raytheon, había descubierto que la operación continua del programa que calculaba la trayectoria y la velocidad del misil enemigo, basándose en datos del radar, acumulaba errores debido al redondeo de los tiempos proporcionados por el reloj interno del software.

Reflexión de un técnico israelí acerca del desastre a las afueras de Dhahran, en Arabia Saudí.

“Aquella noche se perdieron vidas por un fallo informático. Tanto mis compañeros como yo, estábamos preocupados porque el ejército estadounidense no estaba haciendo caso de nuestras peticiones de alerta. Si hubieran reiniciado el sistema informático de los antimisiles Patriot o instalado la actualización de software que llegó tan solo un día antes del fatídico suceso, podrían haber detectado el misil Scud, que destruyó la base militar de Dhahran, causando 28 muertos y numerosos heridos y, haber salvado vidas.”

Causa del problema: no fue un fallo informático

En este caso no podemos echarle la culpa a la informática, porque en realidad fue un fallo humano. La batería de antimisiles Patriot estuvo funcionando durante 100 horas de forma continua, lo que significaba que el error de medida del tiempo acumulado en los redondeos alcanzaba los 0,34 segundos. El método utilizado para activar el lanzamiento de un antimisil se basaba en que, cuando un primer radar detectaba movimiento en un lugar en una determinada dirección, un segundo radar debía confirmar movimiento en otro lugar esa misma dirección unos instantes después.

El programa de Raytheon predecía el instante en el que el segundo radar debía confirmar movimiento que, si no existía, evitaba el lanzamiento del Patriot. Con un Scud avanzando a 1.676 metros por segundo, los 0,34 segundos de desfase del reloj interno del software se transforman en 570 metros, o lo que es lo mismo, el Scud estaba ya a medio kilómetro de donde debía estar cuando el segundo radar se activó y por tanto no encontró señal.

Solución temporal frente al problema

A falta de la disponibilidad de una actualización del programa de cálculo, la solución adoptada por el ejército israelí había sido reiniciar el equipo cada pocas horas, aunque ello suponía estar desprotegidos algunos minutos al día. El ejército estadounidense decidió no aplicar esta solución temporal, ya que la nueva versión de software había sido liberada el día anterior e iba a ser implementada unas pocas horas después.

Conclusión de cómo aplicaría MTP una solución

En MTP, empresa de aseguramiento de negocios digitales (DBA, Digital Business Assurance) especializada en calidad de software (QA), sabemos bien que los errores humanos existen y pueden causar fallos. Por ello deben ser tenidos en cuenta aplicando reglas y procesos que eviten situaciones críticas. Nosotros habríamos aconsejado seguir las prácticas utilizadas por el ejército israelí, aunque entrañaran un cierto riesgo, pero que resulta más que asumible frente a la certeza de fallo que llegaría a darse con un sistema que acumulaba errores de redondeo cada minuto de uso continuo.

 

Fernando Rosique

DBA Hub

 

Otros post de ‘QAbalgando por la historia’:

QAbalgando por la historia (I): Grace Murray Hopper

Qabalgando por la historia (II): Mars Climate Orbiter, el error de conversión que nos dejó sin fotos de Marte

QAbalgando por la historia (III): La destrucción del Mariner I (1962)

QAbalgando por la historia (IV): AT&T en 1990, el gran colapso de la red a larga distancia

QAbalgando por la historia (V): ¿Y si MTP hubiera trabajado en el Ariane 5 en 1996?

Ver más historias