Cuando los Bugs Terminan en Explosiones

Quizá un título un poco Simpsons, pero cualquiera que haya programado alguna vez sabrá que hacer un programa sin ningún tipo de bug (partes del programa que no funcionan adecuadamente); pero lo que quizá no tengamos en mente muchas veces es que hay veces que los bugs pueden acabar en explosiones.

Un poco de historia de explosiones causadas por bugs.

1962: El Mariner 1 tenía como misión el viaje hasta Venus, pero el lanzamiento no salió como se esperaba. Primero se produjo un fallo en las comunicaciones con los sistemas de tierra, por lo que el cochete entró en modo automático. El problema era que el sistema de guiado tenía un bug. Parece ser que se vuelve a cumplir esta frase célebre de "me llevaba una". En este caso, había un fallo en la transcripción de las ecuaciones de guiado de la pizarra al programa (toma especificaciones!) y alguién se olvidó de meter la media.

El programa por tanto, actuaba con las variaciones de los valores, no con la media de estas variaciones lo que hizo que una pequeña desviación fuera considerada un gran problema y por tanto era necesario introducir grandes correcciones en el vuelo. La aventura terminó con la orden desde el centro de control de destruir el cohete como media de seguridad.

1991: Una batería de misiles Patriot no consigue adquirir como blanco un misíl Scud resultando en la muerte de 28 personas. El culpable, otra vez un bug en el programa. Básicamente, el error en la posición de un objeto en el radar tenía un error acumulativo. A las 100 horas de operación del sistema el error era tan grande que aunque se detectaba un objeto en el radar, no se sabía dónde tenía que ser interceptado.

1996: El Ariane 5, quizá uno de los fallos informáticos más conocidos de la historia se dispone a despegar. Pero poco después de la ignición, dentro del sistema de guiado se quiso utilizar una variable de 64 bits como parámetro de un método que operaba con variables de 16 bits procedente de una misión anterior. El resultado buffer overflow, halt del programa y explosión.

1998: El Mars Climate Orbiter es lanzado con la misión de llegar a Marte, desintegrándose en la entrada en la atmósfera. El problema, parte del software realizado en un sitio esperaba unidades métricas y el componente software que las sumistraba lo hacía en unidades imperiales. Por tanto, la velocidad y órbita de entrada en la atmósfera eran erróneas.

Supongo que al menos, a partir de ahora quizá pensemos distinto sobre las consecuencias de un bug en un programa :) Tampoco hay que ser alarmante, ya que depende mucho del dominio del programa (no todos hacemos programas para cohetes), pero tampoco bien mal pensar sobre ello.

Referencias:

  1. Mariner 1 en Wikipedia
  2. Lanzamiento Ariane 5 en Youtube
  3. Mars Climate Orbiter en Wikipedia
  4. Incidente Misiles Patriot
About these ads

14 comments so far

  1. Cthulhu on

    Recordemos que el error del Ariane 5 se debió básicamente a que los ingenieros de Software pensaron que no merecía la pena hacer ningún tipo de test o simulación. Lo cual pasado el tiempo hace que la piel se ponga de gallina.

    Lancemos un cohete al espacio. No hagamos pruebas. Total eso se hace todos los días.

  2. manolito on

    Lo del mars climate orbiter es de órdago. Décadas de intercambio de datos entre diferentes programas espaciales deberían de haber puesto de manifiesto la importancia de trabajar en un sistema métrico unificado como es el sistema métrico internacional. Que aún hayan problemas porque diferentes científicos hagan sus mediciones en unidades diferentes, y más en organizaciones que dependen tanto de las subvenciones gubernamentales (y por lo tanto no se pueden permitir fallos, y menos de ese calibre), me parece realmente indignante.

  3. Rebeca on

    Hola, buenos días. Querría saber cómo puedo contactar con el autor de este blog.
    Gracias

  4. [...] Cuando los bugs terminan en explosiones 10typesofpeople.wordpress.com/2007/10/31/cuando-los-bugs-ter…  por JanSmite el 10:48 UTC [...]

  5. Ah, no... nimo on

    Lo del Mars Climate Orbiter no es un bug. Mezclar churras con merinas no es un fallo de programación, es un fallo humano elemental.

    Por lo menos yo nunca lo vi como tal.

  6. [...] Cuando los bugs terminan en explosiones contaron hace tiempo cómo errores de programación acabaron liándola parda en algunas misiones [...]

  7. [...] explosiones y millones de dólares a la basura causadas por bugs By slamonega En Cuando los bugs terminan en explosiones contaron hace tiempo cómo errores de programación acabaron liándola parda en algunas misiones [...]

  8. Teknologeek.com » Bugs Explosivos on

    [...] Leer el Artículo completo [...]

  9. Sigmar on

    Además de la Mars Climate Orbiter, la Mars Polar Lander también tuvo un fallo en su programación, aunque fue más por el diseño que por un bug.

    Debería haber descendido a la superficie de Marte, pero el programa de control confundió las vibraciones de las patas durante el descenso con tocar la superficie, por lo que apagó los motores antes de tiempo… haciendo que la sonda se estrellara.

  10. [...] Cuando los bugs terminan en explosiones contaron hace tiempo cómo errores de programación acabaron liándola parda en algunas misiones [...]

  11. Raul on

    Patriot vs Scud, unas aclaraciones:
    Hoy en día, pasada la ¿euforia? por la guerra del golfo de 1991, se sabe que el porcentaje de éxito de los Patriot es algo tan parecido a 0% que es indistinguible del concepto “fracaso”.
    Los misiles Scud (diseñados en los ’60) fueron mejorados por los iraquies, logrando que se desarmaran al comenzar su caída balística. El Patriot (’70s) solo es capaz de seguir un blanco a la vez, el mas grande, el del vector, no la cabeza de combate.
    Si no provocaron mas daño los misiles iraquies fue porque no llevaban cargas de combate efectivas, porque no estaban correctamente apuntados y por que fueron pocos. Y malos. No gracias a los “marketineros” Patriot.

    http://www.cdi.org/issues/bmd/patriot.html

  12. Ulises on

    que chafas

  13. [...] In When the bugs end in explosions they told some time ago how programming errors ended up by tying it up brown in some spatial missions. The Mariner 1, Ariane 5 and Mars Climate Orbiter succumbed in the shape of costly fireworks due to bugs of programming. The reasons: formulae badly transcribed, accumulative errors, conversions from 16 to 64 bits, buffer overflows and the legendary error of conversion of imperial units to metric. (Route Blog GMV). # Permanent linkage Posted by Stanley A. Weeks at 16:09 [...]

  14. [...] | Kiko Rodríguez | 10 Types Of People | Cracked me gusta 0 Para votar identifícate o regístrate aquí. Tags: [...]


Deja un comentario

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

Seguir

Recibe cada nueva publicación en tu buzón de correo electrónico.

A %d blogueros les gusta esto: