Tarea 1 Fallos en Ingeniería de Software

Descripción

Tarea 1 UVM Fallos en Ingeniería de Software
marisol.zaratef
Apunte por marisol.zaratef, actualizado hace más de 1 año
marisol.zaratef
Creado por marisol.zaratef hace más de 9 años
38
1

Resumen del Recurso

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

Mostrar resumen completo Ocultar resumen completo

Similar

UNIDAD II DIBUJO PROYECTIVO
anyimartinezrued
Mapa Conceptual de la arquitectura de base de datos
Alan Alvarado
Mapa Conceptual Hardware y Software
Jeferson Alfonso Alvarado Suarez
Abreviaciones comunes en programación web
Diego Santos
Historia de la Ingeniería
Camila González
MAPA CONCEPTUAL SOBRE LA INICIATIVA CDIO
Victor Antonio Rodriguez Castañeda
Diapositivas neumática
Victor Zamora Delgado
Ejercicios neumática
Victor Zamora Delgado
Los ordenadores
Adela Rico Torres
Mapa Neumática
Victor Zamora Delgado
La ingenieria de requerimientos
Sergio Abdiel He