software failures
TRANSCRIPT
Fresh Morning
16 Famous Software Disastersmiguelinlas3 at gmail dot comhttp://miguelinlas3.blogspot.com
If debugging is the process of removing bugs, then programming must be the process of putting them in. Edsger Dijkstra
Algunos nmeros
Errores software cuestan unos $59.5 billones anuales, aproximadamente el 0.6 % del producto interior bruto
Ao 2000: $180 billones, 697k ingenieros de software,585k programadores
A continuacin se presenta un ndice con los contenidos principales que veremos a lo largo de toda la presentacin.
Durante la primera fase de la presentacin analizaremos, de manera somera, el mundo actual de la construccin de software, la problemtica de la misma, los ecosistemas software y las soluciones a la problemtica anterior.
En la segunda parte analizaremos en detalle una de las tcnicas de desarrollo avanzadas utilizadas por los equipos de desarrollo ms vanguardistas, los lenguajes especficos de dominio, introduciendo el lenguaje R.
La tercera parte de la presentacin presentar cuales han sido las motivaciones para la construccin de R-Eclipse, los objetivos perseguidos y las caractersticas del producto final.
Una vez terminada la seccin anterior, intentaremos obtener una serie de conclusiones que resuman lo visto a lo largo de la presentacin, y claro est, del proyecto.
Como ltima parte de la presentacin se sugerirn nuevas funcionalidades que por motivos evidentes no se han podido incluir.
Software Disasters (I)
YearBugCostBrief Description
1962
Mariner Bugs Out
18.5$ millonesEl cohete Mariner I se dispona a trasladar una sonda a Venus cuando se desvi de la trayectoria establecida. El equipo de control se vi obligado a destruir el cohete 293 segundos despus de su despegue.
1978Hartford Coliseum Collapse
90$ millonesEl techo de acero de celosa del estadio se vino abajo debido al peso de la nieve. Afortunadamente, los aficionados ya haban abandonado el estadio unas horas antes del derrumbe
1982
CIA Gives the Soviets Gas
MillonesEl software de control se volvi loco, produciendo altos niveles de presin en el gaseoducto transiberiano, ocasionando la mayor explosin no nuclear ocasionada por el ser humano
A continuacin se presenta un ndice con los contenidos principales que veremos a lo largo de toda la presentacin.
Durante la primera fase de la presentacin analizaremos, de manera somera, el mundo actual de la construccin de software, la problemtica de la misma, los ecosistemas software y las soluciones a la problemtica anterior.
En la segunda parte analizaremos en detalle una de las tcnicas de desarrollo avanzadas utilizadas por los equipos de desarrollo ms vanguardistas, los lenguajes especficos de dominio, introduciendo el lenguaje R.
La tercera parte de la presentacin presentar cuales han sido las motivaciones para la construccin de R-Eclipse, los objetivos perseguidos y las caractersticas del producto final.
Una vez terminada la seccin anterior, intentaremos obtener una serie de conclusiones que resuman lo visto a lo largo de la presentacin, y claro est, del proyecto.
Como ltima parte de la presentacin se sugerirn nuevas funcionalidades que por motivos evidentes no se han podido incluir.
Software Disasters (II)
YearBugCostBrief Description
1983
World War III Almost
Casi toda la humanidadEl sistema de deteccin temprana ruso emiti una alerta (errnea) indicando que los Estados Unidos haban disparado cinco misiles balsticos. Afortunadamente, el oficial de guardia notific que era una falsa alarma
1985Medical Machine Kills3 muertos y 3 heridos gravesLa mquina de radioterapia Therac Canad-25 funcion de manera incorrecta, inyectando dosis letales de radiacin a los pacientes tratados.
1987
Wall Street Crash
$ 500 billones (un da)Black Monday (19 de Octubre de 1987). El Dow Jones Industrial Average cay 508 puntos, perdiendo un 22.6% de su valor total; el ndice S&P 500 baj un 20.4%.
Esta fue la mayor prdida sufrida por Wall Street en un solo da
A continuacin se presenta un ndice con los contenidos principales que veremos a lo largo de toda la presentacin.
Durante la primera fase de la presentacin analizaremos, de manera somera, el mundo actual de la construccin de software, la problemtica de la misma, los ecosistemas software y las soluciones a la problemtica anterior.
En la segunda parte analizaremos en detalle una de las tcnicas de desarrollo avanzadas utilizadas por los equipos de desarrollo ms vanguardistas, los lenguajes especficos de dominio, introduciendo el lenguaje R.
La tercera parte de la presentacin presentar cuales han sido las motivaciones para la construccin de R-Eclipse, los objetivos perseguidos y las caractersticas del producto final.
Una vez terminada la seccin anterior, intentaremos obtener una serie de conclusiones que resuman lo visto a lo largo de la presentacin, y claro est, del proyecto.
Como ltima parte de la presentacin se sugerirn nuevas funcionalidades que por motivos evidentes no se han podido incluir.
Software Disasters (III)
YearBugCostBrief Description
1990
AT&T Lines Go Dead
75 millones llamadas perdidas. 200 mil reservas areas perdidasUno de los 114 centros de conmutacin de AT&T sufri un problema tcnico menor, obligando a cerrar el mismo.A su regreso, envi un mensaje al resto de centros de conmutacin que provoc la caida de los mismos, ocasionando el colapso de la red de comunicaciones de la compaa AT&T
1991
Patriot Fails Soldiers28 soldados muertos y 100 heridos
Durante la primera guerra del golfo un sistema American Patriot Missile en Arabia Saud err en la deteccin de un misil Scud iraqu. Dicho misil destruy un cuartel del ejrcito americano.
1993
Pentium Fails Long Division
475$ millones y credibilidadUno de los chips de Intel realizaba divisiones incorrectas con nmeros flotantes de un rango determinado. Por ejemplo: 4195835.0/3145727.0 arrojaba como resultado 1.33374 en lugar de 1.33382, un error del 0.006%
A continuacin se presenta un ndice con los contenidos principales que veremos a lo largo de toda la presentacin.
Durante la primera fase de la presentacin analizaremos, de manera somera, el mundo actual de la construccin de software, la problemtica de la misma, los ecosistemas software y las soluciones a la problemtica anterior.
En la segunda parte analizaremos en detalle una de las tcnicas de desarrollo avanzadas utilizadas por los equipos de desarrollo ms vanguardistas, los lenguajes especficos de dominio, introduciendo el lenguaje R.
La tercera parte de la presentacin presentar cuales han sido las motivaciones para la construccin de R-Eclipse, los objetivos perseguidos y las caractersticas del producto final.
Una vez terminada la seccin anterior, intentaremos obtener una serie de conclusiones que resuman lo visto a lo largo de la presentacin, y claro est, del proyecto.
Como ltima parte de la presentacin se sugerirn nuevas funcionalidades que por motivos evidentes no se han podido incluir.
Software Disasters (IV)
YearBugCostBrief Description
1996
Ariane Rocket Goes Boom
$500 millonesAriane 5, el cohete europeo no tripulado ms moderno, tuvo que ser destruido de manera intencionada segundos despus del lanzamiento de su primer vuelo.
1998
Mars Climate Crasher
125$ millonesTras un viaje de 286 das desde la Tierra, el Mars Climate Orbiter encendi sus motores para orbitar alrededor de Marte.El encencido de los mismos fue correcto, pero la nave se vi atrapada por la atmsfera del planeta, provocando su choque contra el mismo
1999
Disastrous Study
Credibilidad cientficaEl New England Journal of Medicine public que las tasas de suicidio aumentaban despus de la ocurrencia de graves desastres naturales. Desafortunadamente, estos resultados eran incorrectos
A continuacin se presenta un ndice con los contenidos principales que veremos a lo largo de toda la presentacin.
Durante la primera fase de la presentacin analizaremos, de manera somera, el mundo actual de la construccin de software, la problemtica de la misma, los ecosistemas software y las soluciones a la problemtica anterior.
En la segunda parte analizaremos en detalle una de las tcnicas de desarrollo avanzadas utilizadas por los equipos de desarrollo ms vanguardistas, los lenguajes especficos de dominio, introduciendo el lenguaje R.
La tercera parte de la presentacin presentar cuales han sido las motivaciones para la construccin de R-Eclipse, los objetivos perseguidos y las caractersticas del producto final.
Una vez terminada la seccin anterior, intentaremos obtener una serie de conclusiones que resuman lo visto a lo largo de la presentacin, y claro est, del proyecto.
Como ltima parte de la presentacin se sugerirn nuevas funcionalidades que por motivos evidentes no se han podido incluir.
Software Disasters (V)
YearBugCostBrief Description
1999
British Passports to Nowhere
12.6 millones de librasLa agencia de pasaportes de UK incorpor un nuevo sistema informtico (Siemens), que no fue capaz de expedir en tiempo los pasaportes de medio milln de ciudadanos britnicos. La agencia se vi obligada a pagar cientos de millones en compensaciones, horas extras y paraguas para la gente que haca cola bajo la lluvia
1999
Y2K500$ billonesLas empresas se vieron obligadas a realizar grandes inversiones en desarrollo para subsanar un problema ocasionado por legacy code
2000
Cancer Treatment to Die For8 muertos y 20 heridos gravesEl software de radioterapia desarrollado por Multidata Systems realizaba un clculo errneo de la dosis que se deba inyectar a los pacientes. Los mdicos fueron acusados de asesinato
A continuacin se presenta un ndice con los contenidos principales que veremos a lo largo de toda la presentacin.
Durante la primera fase de la presentacin analizaremos, de manera somera, el mundo actual de la construccin de software, la problemtica de la misma, los ecosistemas software y las soluciones a la problemtica anterior.
En la segunda parte analizaremos en detalle una de las tcnicas de desarrollo avanzadas utilizadas por los equipos de desarrollo ms vanguardistas, los lenguajes especficos de dominio, introduciendo el lenguaje R.
La tercera parte de la presentacin presentar cuales han sido las motivaciones para la construccin de R-Eclipse, los objetivos perseguidos y las caractersticas del producto final.
Una vez terminada la seccin anterior, intentaremos obtener una serie de conclusiones que resuman lo visto a lo largo de la presentacin, y claro est, del proyecto.
Como ltima parte de la presentacin se sugerirn nuevas funcionalidades que por motivos evidentes no se han podido incluir.
Software Disasters (VI)
YearBugCostBrief Description
2004
EDS Drops Child Support
539 millones de libras (y subiendo)El sistema informtico desarrollado por EDS para la agencia de manutencin de nios britnica (CSA) pagaba en exceso a 1.9 millones de personas, mientras que otras 700.000 cobraban menos de lo que deberan.
3.5 millones de libras no se haban cobrado, 293000 casos en backlog y 36000 nuevos casos sin tratar.
En la actualidad tienen ms de 500 bugs documentados.
A continuacin se presenta un ndice con los contenidos principales que veremos a lo largo de toda la presentacin.
Durante la primera fase de la presentacin analizaremos, de manera somera, el mundo actual de la construccin de software, la problemtica de la misma, los ecosistemas software y las soluciones a la problemtica anterior.
En la segunda parte analizaremos en detalle una de las tcnicas de desarrollo avanzadas utilizadas por los equipos de desarrollo ms vanguardistas, los lenguajes especficos de dominio, introduciendo el lenguaje R.
La tercera parte de la presentacin presentar cuales han sido las motivaciones para la construccin de R-Eclipse, los objetivos perseguidos y las caractersticas del producto final.
Una vez terminada la seccin anterior, intentaremos obtener una serie de conclusiones que resuman lo visto a lo largo de la presentacin, y claro est, del proyecto.
Como ltima parte de la presentacin se sugerirn nuevas funcionalidades que por motivos evidentes no se han podido incluir.
Pentium Fails Long Division
A continuacin se presenta un ndice con los contenidos principales que veremos a lo largo de toda la presentacin.
Durante la primera fase de la presentacin analizaremos, de manera somera, el mundo actual de la construccin de software, la problemtica de la misma, los ecosistemas software y las soluciones a la problemtica anterior.
En la segunda parte analizaremos en detalle una de las tcnicas de desarrollo avanzadas utilizadas por los equipos de desarrollo ms vanguardistas, los lenguajes especficos de dominio, introduciendo el lenguaje R.
La tercera parte de la presentacin presentar cuales han sido las motivaciones para la construccin de R-Eclipse, los objetivos perseguidos y las caractersticas del producto final.
Una vez terminada la seccin anterior, intentaremos obtener una serie de conclusiones que resuman lo visto a lo largo de la presentacin, y claro est, del proyecto.
Como ltima parte de la presentacin se sugerirn nuevas funcionalidades que por motivos evidentes no se han podido incluir.
Problemtica
Uno de los chips de Intel realizaba divisiones incorrectas con nmeros flotantes de un rango determinado
Por ejemplo: 4195835.0/3145727.0 arrojaba como resultado 1.33374 en lugar de 1.33382, un error del 0.006%
A continuacin se presenta un ndice con los contenidos principales que veremos a lo largo de toda la presentacin.
Durante la primera fase de la presentacin analizaremos, de manera somera, el mundo actual de la construccin de software, la problemtica de la misma, los ecosistemas software y las soluciones a la problemtica anterior.
En la segunda parte analizaremos en detalle una de las tcnicas de desarrollo avanzadas utilizadas por los equipos de desarrollo ms vanguardistas, los lenguajes especficos de dominio, introduciendo el lenguaje R.
La tercera parte de la presentacin presentar cuales han sido las motivaciones para la construccin de R-Eclipse, los objetivos perseguidos y las caractersticas del producto final.
Una vez terminada la seccin anterior, intentaremos obtener una serie de conclusiones que resuman lo visto a lo largo de la presentacin, y claro est, del proyecto.
Como ltima parte de la presentacin se sugerirn nuevas funcionalidades que por motivos evidentes no se han podido incluir.
Daos ocasionados
El bug afect a un nmero reducido de personas aunque se convirit en una autntica pesadilla para el departamento comercial
Con aproximdamente 5 millones de chips defectuosos en circulacin, Intel ofreci reemplazos a aquellas personas que demostrasen necesitar una precisin alta
A continuacin se presenta un ndice con los contenidos principales que veremos a lo largo de toda la presentacin.
Durante la primera fase de la presentacin analizaremos, de manera somera, el mundo actual de la construccin de software, la problemtica de la misma, los ecosistemas software y las soluciones a la problemtica anterior.
En la segunda parte analizaremos en detalle una de las tcnicas de desarrollo avanzadas utilizadas por los equipos de desarrollo ms vanguardistas, los lenguajes especficos de dominio, introduciendo el lenguaje R.
La tercera parte de la presentacin presentar cuales han sido las motivaciones para la construccin de R-Eclipse, los objetivos perseguidos y las caractersticas del producto final.
Una vez terminada la seccin anterior, intentaremos obtener una serie de conclusiones que resuman lo visto a lo largo de la presentacin, y claro est, del proyecto.
Como ltima parte de la presentacin se sugerirn nuevas funcionalidades que por motivos evidentes no se han podido incluir.
Detalles del problema
La unidad de punto flotante de Pentium utiliza un algoritmo radix 4 SRT. En cada paso es capaz de calcular dos dgitos de un cociente (en lugar de uno)
Debilidad: necesita una tabla de valores. Dicha tabla fue mal introducida en la unidad de punto flotante
A continuacin se presenta un ndice con los contenidos principales que veremos a lo largo de toda la presentacin.
Durante la primera fase de la presentacin analizaremos, de manera somera, el mundo actual de la construccin de software, la problemtica de la misma, los ecosistemas software y las soluciones a la problemtica anterior.
En la segunda parte analizaremos en detalle una de las tcnicas de desarrollo avanzadas utilizadas por los equipos de desarrollo ms vanguardistas, los lenguajes especficos de dominio, introduciendo el lenguaje R.
La tercera parte de la presentacin presentar cuales han sido las motivaciones para la construccin de R-Eclipse, los objetivos perseguidos y las caractersticas del producto final.
Una vez terminada la seccin anterior, intentaremos obtener una serie de conclusiones que resuman lo visto a lo largo de la presentacin, y claro est, del proyecto.
Como ltima parte de la presentacin se sugerirn nuevas funcionalidades que por motivos evidentes no se han podido incluir.
The Patriot Missile Failure
A continuacin se presenta un ndice con los contenidos principales que veremos a lo largo de toda la presentacin.
Durante la primera fase de la presentacin analizaremos, de manera somera, el mundo actual de la construccin de software, la problemtica de la misma, los ecosistemas software y las soluciones a la problemtica anterior.
En la segunda parte analizaremos en detalle una de las tcnicas de desarrollo avanzadas utilizadas por los equipos de desarrollo ms vanguardistas, los lenguajes especficos de dominio, introduciendo el lenguaje R.
La tercera parte de la presentacin presentar cuales han sido las motivaciones para la construccin de R-Eclipse, los objetivos perseguidos y las caractersticas del producto final.
Una vez terminada la seccin anterior, intentaremos obtener una serie de conclusiones que resuman lo visto a lo largo de la presentacin, y claro est, del proyecto.
Como ltima parte de la presentacin se sugerirn nuevas funcionalidades que por motivos evidentes no se han podido incluir.
Problemtica y daos
25 de Febrero de 1991. Guerra del Golfo.
American Patriot Missile en Dharan, Arabia Saud, no fue capaz de detectar un misil Scud iraqu.
Como resultado del impacto, un cuartel del ejrcito americano fue destruido, ocasionando la muerte a 28 soldados y causando unos 100 heridos
A continuacin se presenta un ndice con los contenidos principales que veremos a lo largo de toda la presentacin.
Durante la primera fase de la presentacin analizaremos, de manera somera, el mundo actual de la construccin de software, la problemtica de la misma, los ecosistemas software y las soluciones a la problemtica anterior.
En la segunda parte analizaremos en detalle una de las tcnicas de desarrollo avanzadas utilizadas por los equipos de desarrollo ms vanguardistas, los lenguajes especficos de dominio, introduciendo el lenguaje R.
La tercera parte de la presentacin presentar cuales han sido las motivaciones para la construccin de R-Eclipse, los objetivos perseguidos y las caractersticas del producto final.
Una vez terminada la seccin anterior, intentaremos obtener una serie de conclusiones que resuman lo visto a lo largo de la presentacin, y claro est, del proyecto.
Como ltima parte de la presentacin se sugerirn nuevas funcionalidades que por motivos evidentes no se han podido incluir.
Detalles del problema (I)
El problema fue ocasionada por un clculo inexacto.
El tiempo transcurrido desde el arranque se meda en dcimas de segundo. Posteriormente era multiplicado por 1/10 con el objetivo de expresar el tiempo en segundos
El calculo anterior se realiz mediante un registro de 24 bits (fixed)
A continuacin se presenta un ndice con los contenidos principales que veremos a lo largo de toda la presentacin.
Durante la primera fase de la presentacin analizaremos, de manera somera, el mundo actual de la construccin de software, la problemtica de la misma, los ecosistemas software y las soluciones a la problemtica anterior.
En la segunda parte analizaremos en detalle una de las tcnicas de desarrollo avanzadas utilizadas por los equipos de desarrollo ms vanguardistas, los lenguajes especficos de dominio, introduciendo el lenguaje R.
La tercera parte de la presentacin presentar cuales han sido las motivaciones para la construccin de R-Eclipse, los objetivos perseguidos y las caractersticas del producto final.
Una vez terminada la seccin anterior, intentaremos obtener una serie de conclusiones que resuman lo visto a lo largo de la presentacin, y claro est, del proyecto.
Como ltima parte de la presentacin se sugerirn nuevas funcionalidades que por motivos evidentes no se han podido incluir.
Detalles del problema (II)
1/10 no tiene una representacin binaria finita, de modo que fue truncada para que cupiera en el registro anterior
El pequeo error de truncado, cuando se multiplicaba por el tiempo transcurrido (nmeros grandes) provocaba errores significativos
A continuacin se presenta un ndice con los contenidos principales que veremos a lo largo de toda la presentacin.
Durante la primera fase de la presentacin analizaremos, de manera somera, el mundo actual de la construccin de software, la problemtica de la misma, los ecosistemas software y las soluciones a la problemtica anterior.
En la segunda parte analizaremos en detalle una de las tcnicas de desarrollo avanzadas utilizadas por los equipos de desarrollo ms vanguardistas, los lenguajes especficos de dominio, introduciendo el lenguaje R.
La tercera parte de la presentacin presentar cuales han sido las motivaciones para la construccin de R-Eclipse, los objetivos perseguidos y las caractersticas del producto final.
Una vez terminada la seccin anterior, intentaremos obtener una serie de conclusiones que resuman lo visto a lo largo de la presentacin, y claro est, del proyecto.
Como ltima parte de la presentacin se sugerirn nuevas funcionalidades que por motivos evidentes no se han podido incluir.
Detalles del problema (III)
El sistema Patriot haba estado en funcionamiento durante unas 100 horas
1/10 en binario: 0.0001100110011001100110011001100
1/10 truncado en 24 bits: 0.00011001100110011001100
A continuacin se presenta un ndice con los contenidos principales que veremos a lo largo de toda la presentacin.
Durante la primera fase de la presentacin analizaremos, de manera somera, el mundo actual de la construccin de software, la problemtica de la misma, los ecosistemas software y las soluciones a la problemtica anterior.
En la segunda parte analizaremos en detalle una de las tcnicas de desarrollo avanzadas utilizadas por los equipos de desarrollo ms vanguardistas, los lenguajes especficos de dominio, introduciendo el lenguaje R.
La tercera parte de la presentacin presentar cuales han sido las motivaciones para la construccin de R-Eclipse, los objetivos perseguidos y las caractersticas del producto final.
Una vez terminada la seccin anterior, intentaremos obtener una serie de conclusiones que resuman lo visto a lo largo de la presentacin, y claro est, del proyecto.
Como ltima parte de la presentacin se sugerirn nuevas funcionalidades que por motivos evidentes no se han podido incluir.
Detalles del problema (IV)
Error:0.0000000000000000000000011001100... (aproximadamente 0.000000095)
Error ocasionado tras 100 horas:0.000000095100606010=0.34 segundos
A continuacin se presenta un ndice con los contenidos principales que veremos a lo largo de toda la presentacin.
Durante la primera fase de la presentacin analizaremos, de manera somera, el mundo actual de la construccin de software, la problemtica de la misma, los ecosistemas software y las soluciones a la problemtica anterior.
En la segunda parte analizaremos en detalle una de las tcnicas de desarrollo avanzadas utilizadas por los equipos de desarrollo ms vanguardistas, los lenguajes especficos de dominio, introduciendo el lenguaje R.
La tercera parte de la presentacin presentar cuales han sido las motivaciones para la construccin de R-Eclipse, los objetivos perseguidos y las caractersticas del producto final.
Una vez terminada la seccin anterior, intentaremos obtener una serie de conclusiones que resuman lo visto a lo largo de la presentacin, y claro est, del proyecto.
Como ltima parte de la presentacin se sugerirn nuevas funcionalidades que por motivos evidentes no se han podido incluir.
Detalles del problema (V)
Misil Scud viaja 1,676 metros por segundo
En 0.34 segundos viaja ms de medio kilmetro; tiempo suficiente para que el misil estuviera fuera del range gate
A continuacin se presenta un ndice con los contenidos principales que veremos a lo largo de toda la presentacin.
Durante la primera fase de la presentacin analizaremos, de manera somera, el mundo actual de la construccin de software, la problemtica de la misma, los ecosistemas software y las soluciones a la problemtica anterior.
En la segunda parte analizaremos en detalle una de las tcnicas de desarrollo avanzadas utilizadas por los equipos de desarrollo ms vanguardistas, los lenguajes especficos de dominio, introduciendo el lenguaje R.
La tercera parte de la presentacin presentar cuales han sido las motivaciones para la construccin de R-Eclipse, los objetivos perseguidos y las caractersticas del producto final.
Una vez terminada la seccin anterior, intentaremos obtener una serie de conclusiones que resuman lo visto a lo largo de la presentacin, y claro est, del proyecto.
Como ltima parte de la presentacin se sugerirn nuevas funcionalidades que por motivos evidentes no se han podido incluir.
References
http://www.nist.gov/public_affairs/releases/n02-10.htm
http://www.devtopics.com/20-famous-software-disasters/
http://www.willamette.edu/~mjaneba/pentprob.html
http://www-math.mit.edu/~edelman/homepage/talks/pentium.ppt
http://www.ima.umn.edu/~arnold/disasters/patriot.html