Software Failures

Embed Size (px)

Citation preview

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