Como la explosión del Ariane evolucionó las herramientas de control de la calidad del software crítico

El 4 de junio de 1996, el cohete Ariane 5 lanzado por la Agencia Espacial Europea estalló 38 segundos después de su despegue desde Kourou, en la Guayana Francesa. El Ariane explotó en su primer viaje, después de una década de desarrollo, y las pérdidas se estimaron en 500 millones de dólares.

Abajo te dejo un video de la explosión.

La causa de la explosión fue un error en el software. Un error no detectado por falta de control de la calidad del software crítico del cohete. Todo sucedió porque un número real de 64 bits (coma flotante) relacionado con la velocidad horizontal del cohete se convirtió en un entero de 16 bits. Aunque encontrar el error no fue nada fácil.

Ver este vídeo en YouTube.

Ese mismo año, en 1996, a Alain Deutsch, del INRIA, le encargaron averiguar cuál fue el error. Y para ello se puso manos a la obra usando herramientas que automatizaban el control de la calidad del software crítico. Concretamente, usó un prototipo de analizador estático (IABC) de código fuente Ada, el cual había desarrollado para su doctorado.

Automatizando la evaluación de la calidad del software crítico, del código fuente, encontró el error,  y demostró la eficacia del análisis estático (os dejo un artículo para más detalles). Hoy en día el análisis estático del código es práctica usual, y prácticamente obligatoria, para controlar la calidad del software crítico, y del software embebido.

Fue a raíz de esta experiencia cuando se creó la empresa PolySpace, con el objetivo de comercializar la herramienta de evaluación de la calidad del software crítico que se utilizó para encontrar el fallo del Ariane. Y hoy las herramientas de PolySpace son unas de las más usadas para el control de la calidad del software crítico.
PolySpace tiene cuatro herramientas, para Ada, C, Ada95 y C++. Y buscan desbordamientos, divisiones por 0, accesos fuera de los límites de un array y otros errores de ejecución en el código fuente. También obtienen métricas, entre otras, la antigua y tan importante complejidad ciclomática (te recomiendo aquí este post sobre esta métrica).

0 comentarios en “Como la explosión del Ariane evolucionó las herramientas de control de la calidad del software crítico”

  1. Pingback: Bitacoras.com

  2. Pingback: Top 8 de errores informáticos más costosos de la historia - Javier Garzás | Javier Garzás

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Share This
Ir arriba