O GoConqr está de visual novo! Conte para nós o que você achou.

Notas

Tarea 1 Fallos en Ingeniería de Software

marisol.zaratef Espanhol 1 página

Conteúdo das notas (1)

Página 1

Buenas noches:

Intenté enviar la tarea como documento de word anexo pero no encuentro la opción. La entrego por este medio.

Quedo pendiente para cualquier comentario al respecto.

Muchas gracias.

Fallos en Ingeniería de Software.

Actualización errónea de saldos.

Existía un error en un transacción de

390 del Banco que provocaba que el saldo de las cuentas de cheques se

actualizara con el saldo contable de la cuenta (suma total de operaciones

realizadas durante el día por cualquier canal, disposiciones y depósitos), en

vez del saldo disponible de la cuenta (restante en la cuenta después de todas

las operaciones del día).

Un cliente detectó esta

falla y llegó a tener saldos disponibles de hasta 2 millones de pesos para

disponer durante horarios en los que se aplicaban mantenimientos a la

aplicación de 390.

El problema fue detectado por

el Banco y denunciado como fraude, se inició un proceso penal en contra del

cliente y, después de un análisis de sobre la cuenta y sus movimientos, así

como del código de la transacción, el equipo de Sistemas corrigió el problema

para evitar que otro cliente lo aprovechara.

Therac-25

Instrumental médico de

aplicación de radiación. Por lo menos 5 personas murieron por un error en las

validaciones de entrada de su interface gráfica.

La Therac-25 era una

máquina de radioterapia producida por la Atomic Energy of Canada Limited

(AECL). Estuvo envuelta en al menos seis accidentes entre 1985 y 1987, en los

que los pacientes recibieron sobredosis masivas de radiación, de

aproximadamente cien veces la dosis esperada. Tres de los seis pacientes

murieron como consecuencia directa. Estos accidentes remarcaron los riesgos del

control por software de sistemas de seguridad crítica, y se convirtieron en un

caso de estudio típico de la informática médica y la ingeniería de software.

La máquina ofrecía dos

modos de terapia por radiación:

·

Terapia

de haz de electrones directo, la cual entregaba bajas dosis de electrones de

alta energía (5 MeV a 25 MeV) por cortos períodos de tiempo;

·

Rayos

X de Mega voltaje (Megavoltage X-Rays), la cual entregaba rayos X colisionando

electrones de alta energía (25 Mev) en un objetivo.

Los accidentes ocurrían

cuando el haz de electrones de alta energía era activado en lugar del haz de

baja energía y sin la placa difusora colocada en su lugar. El programa de la

máquina no detectaba que esto estaba ocurriendo, y por lo tanto no prevenía que

el paciente recibiera una dosis potencialmente letal de radiación. El haz de

electrones alcanzaba a los pacientes con aproximadamente cien veces la dosis de

radiación esperada. Varios días después aparecían quemaduras de radiación y los

pacientes mostraban los síntomas de envenenamiento radiactivo. En tres casos,

los pacientes afectados murieron por envenenamiento radiactivo. El defecto del

programa se determinó como una condición de carrera.

La comisión investigadora

ha concluido que la razón primaria puede ser atribuida a las malas prácticas de

desarrollo, un mal análisis de requerimientos y un mal diseño de software, y no

explicitó si fueron encontrados varios errores de código. En particular, el

programa fue diseñado de forma tal que era relativamente imposible de testear

de forma automática.

Los investigadores de los

accidentes encontraron varias causantes. Estas incluían las siguientes causas

institucionales:

·

AECL

no tenía el código fuente revisado de forma independiente.

·

AECL

no consideró el diseño del software durante su evaluación de cómo la máquina

produciría los resultados correctos y qué tipos de fallos existirían. Esto

forma parte de las técnicas conocidas como ingeniería de la confiabilidad y

gestión de riesgos.

·

El

sistema notificaba que algo andaba mal y detenía los rayos X, pero solamente

mostraba la palabra "MALFUNCTION" seguida de un número del 1 al 64.

El manual de usuario no explicaba ni mostraba los códigos de error, por lo

tanto el operador presionaba la tecla P para saltar la advertencia y proceder

con el proceso.

·

El

Personal de AECL, así como los operadores de las máquinas, inicialmente no

creían en las quejas de los pacientes. Probablemente porque estaban muy

confiados en la máquina.

·

AECL

no había probado la Therac 25 con la combinación de software y hardware antes

de montarla en el hospital.

·

Los

investigadores también encontraron problemas de ingeniería:

o

El

fallo sólo ocurría cuando una secuencia particular de teclas era ingresado en

la terminal VT100 que controlaba la computadora PDP-11: la X que (erróneamente)

seleccionaba el modo de fotones de 25MV, seguido de "cursor arriba",

"E" que (correctamente) seleccionaba el modo de electrones de 25MeV y

luego "Enter". Esa secuencia de pulsaciones era improbable, y por lo

tanto el problema no ocurría muy seguido y fue desconocido por un largo tiempo.

o

El

diseño no contaba con un entrelazado de hardware que previniese que el haz de

electrones operase en el modo de alta energía sin el objetivo en su lugar.

o

La

ingeniería había reutilizado software de modelos más antiguos, que contaban con

entrelazados hardware que cubrían los defectos de software. Esos dispositivos

de seguridad no tenían forma de reportar que habían sido disparado, por los que

no había indicación de la existencia de comandos del software que fallen.

o

El

hardware no suministraba ninguna forma para que el software verifique que los

sensores estaban funcionando correctamente.

o

La

tarea del equipamiento de control no se sincronizaba de manera adecuada con la

tarea de la interfaz de operador, por ello ocurrían condiciones de carrera si

el operador cambiaba la configuración demasiado rápido. Esto no se supo durante

las pruebas, ya que los operadores necesitaban práctica para poder manejar la

máquina velozmente para que ocurra el problema.

o

El

programa establecía una variable bandera incrementándola. Ocasionalmente

ocurría un desbordamiento aritmético, causando que el software ignorara los

chequeos de seguridad.

o

El

programa estaba escrito en lenguaje ensamblador, que puede requerir más

atención en las pruebas y en el buen diseño. No obstante, la elección del

lenguaje por sí misma no fue considerado como una causa primaria en el informe.

La máquina además usaba su propio sistema operativo.

Nasa

El Orbitador climatológico

de Marte y el Mars Polar Lander son solo 2 de las muy costosas misiones de la

NASA que fracasaron a causa de errores software. Generalmente las misiones de este

nivel pueden costar cientos de millones de dólares y varios años de

investigación. Sin embargo en la actualidad la NASA trabaja en la construcción

de software que le permita validar automáticamente el funcionamiento de sus

aplicativos. Una interesante aplicación a nivel de SQA. (Software Quality

Assurance).

El orbitador climatológico

de Marte se quemó en la atmósfera marciana en 1999 después de haber perdido su

inserción orbital, por calculaciones inconsistentes de la unidad.

Se sospecha que ese mismo año

el Mars Polar Lander se desplomo durante su aterrizaje en Marte, por un

desajuste de software.

La misión Mars Exploration

Rover (MER)2003, incluye dos Rovers programados a aterrizar en la superficie de

Marte en enero del 2004 para recoger muestras de rocas, el suelo, y la

atmósfera, durante un período de por lo menos 90 días.

A un costo de $400

millones por cada rover, un problema en el código que apaga un rover sobre el

periodo de una noche, sería en efecto un error de $4.4 millones, así como

también la pérdida de valioso tiempo de exploración en el planeta.

Para detectar tales

problemas en el código de software durante las misiones, NASA Ames está

desarrollando un software de técnicas de validación y verificación para

encontrar fallas más rápido y preciso que antes, automáticamente.

El día que desapareció Suecia

También en 2009 se produjo

el más genuino y espectacular bug de la historia. En esta ocasión, causado por

un solo carácter en una línea de código (faltaba un punto), que hizo

desaparecer a Suecia del mapa de Internet. Durante unas horas, que se

convirtieron en días en algunos casos, los servidores DNS no fueron capaces de

encontrar las direcciones con el dominio local y, por tanto, nadie pudo acceder

a ninguna página web alojada en el dominio “.se”. En la investigación se señaló

que una configuración incorrecta de un script de mantenimiento hizo que se

introdujera un error que afectó a todos los dominios “.se”.

El efecto 2000.

El problema del año 2000,

también conocido como efecto 2000, error del milenio, problema informático del

año 2000 (PIA2000) o por el numerónimo Y2K, es un bug o error de software

causado por la costumbre que habían adoptado los programadores de omitir la

centuria en el año para el almacenamiento de fechas (generalmente para

economizar memoria), asumiendo que el software solo funcionaría durante los

años cuyos nombres comenzaran con 19. Lo anterior tendría como consecuencia que

después del 31 de diciembre de 1999, sería el 1 de enero de 1900 en vez del 1

de enero de 2000.

Algunos de los problemas

divulgados son:

·

En

Ishikawa, Japón, un equipo de supervisión de radiación falló a medianoche, pero

los funcionarios dijeron que no había ningún riesgo para el público.

·

En

Japón, la red de comunicaciones móviles de NTT (NTT DoCoMo), el operador de

telefonía móvil más grande de Japón, divulgó el 1 de enero de 2000 que algunos

modelos de teléfonos móviles suprimían los nuevos mensajes recibidos, en lugar

de los viejos, cuando se llenaba la memoria.

·

En

Estados Unidos, el observatorio naval, donde funciona el reloj principal que

marca el tiempo oficial del país, tuvo una interferencia de Y2K en su sitio

web. Debido a un problema de programación, el sitio divulgó que la fecha era el

1 de enero de 1910.

·

En

el Reino Unido, algunas transacciones de tarjetas de crédito fueron rechazadas

o fallaron en conjunto mientras que trabajaron recíprocamente ciertos sistemas.

·

En

Italia, Telecom Italia envió los primeros dos meses de cuentas, con fecha de

enero de 1900.

·

En

Pennsylvania, Estados Unidos, una computadora de la biblioteca de una escuela

primaria cobró al cuerpo estudiantil excesivamente por tener prestados los

libros durante 100 años.

Fuentes.

Moriel. (2003). Historial

de «Therac-25». 25 Junio 2015, de Wikipedia Sitio web:

https://es.wikipedia.org/wiki/Therac-25

Jonas Dino. (2008). La

computadora lo puede verificar. 25 Junio 2015, de Ames Sitio web:

http://www.nasa.gov/centers/ames/spanish/research/exploringtheuniverse/exploringtheuniverse-computer...

José Manuel López Torets.

(2013). Los Cinco Grandes Errores de la Historia del Software. 25 Junio 2015,

de MTP Digital Business Assurance Sitio web:

http://www.mtp.es/noticias/264-los-cinco-grandes-errores-de-la-historia-del-software

Sauron. (2003). Problema

del año 2000. 25 Junio 2015, de Wikipedia Sitio web:

https://es.wikipedia.org/wiki/Problema_del_a%C3%B1o_2000

Informações

Descrição
Tarea 1 UVM Fallos en Ingeniería de Software
Criado por
marisol.zaratef
Visualizações
54
Avaliação

Fale Conosco

Sobre o que é sua mensagem?

O que você acha do novo visual?

Você gostou?