Los 10 peores errores de programación en la historia

Los 10 peores errores de programación en la historia / Programación

El código está en casi todas partes. El advenimiento de las computadoras modernas llegó en la década de 1940. En su rica historia, la programación permitió una mejor comunicación y dio lugar a avances en una gran variedad de industrias. Todo, desde los viajes espaciales hasta las telecomunicaciones y la atención médica, ha sido revolucionado y afectado por el código..

Además, la programación puede enseñar valiosas lecciones de vida. 6 Hábitos de vida que la programación podría enseñarle hoy. 6. Hábitos de vida que la programación podría enseñarle hoy. Todo lo importante que necesita saber para llevar una vida exitosa puede obtenerlo de un programa de computadora. No me crees Sigue leyendo Lee mas . Sin embargo, en su pasado histórico, la codificación también forja la destrucción. Las instancias de un poco de código malo causaron un desastre en un nivel importante. Los siguientes son 10 de los peores errores de programación en la historia..

1. Y2K Bug

El error del año 2000, también conocido como Y2K Bug o Millennium Bug, fue un problema de codificación que se predice que causará pandemonium en la computadora. En los años 90, la mayoría de los programas de computadora enumeraban cuatro años en una versión abreviada. Así que 1990 lee 90, 1991 escrito como 91, etc. Al acortar los años de cuatro dígitos a dos dígitos, los codificadores guardan una valiosa memoria. Pero las computadoras no pudieron reconocer 2000 como simplemente 00. Para agravar aún más el problema, 2000 fue un año bisiesto. Ciertas aplicaciones de software no tuvieron en cuenta el día extra.

Muchos temían que el Y2K pudiera derribar computadoras y aparatos electrónicos en todo el mundo. Recuerdo mi primer reproductor de DVD con un brillo. “Cumple con Y2K” pegatina. Si bien el año 2000 se produjo sin problemas desde el punto de vista del software, la actualización de computadoras y aplicaciones en todas las industrias costó aproximadamente $ 300 mil millones. Las computadoras no se estrellaron. La vida procedió como de costumbre. Pero no sin un montón de dinero y trabajo, que según los informes de Slate puede haber sido un desperdicio.

Por qué es uno de los peores errores de programación: El pánico Y2K fue extremadamente costoso, por una suma de $ 300 mil millones. Además, los recursos se redirigieron para solucionar este problema potencial.

2. Insecto de Heartbleed

Crédito de la imagen: OpenClipart-Vectors a través de Pixabay

Apareciendo en la biblioteca OpenSSL, el error de Heartbleed es una vulnerabilidad de seguridad peligrosa. Heartbleed: ¿Qué puede hacer para mantenerse seguro? Heartbleed - ¿Qué puedes hacer para mantenerte seguro? Lee mas . El protocolo de Seguridad de la capa de transporte (TLS) emplea la biblioteca de criptografía OpenSSL. Debido a su uso generalizado en TLS, Heartbleed se propagó rápidamente. Este error permite que prácticamente cualquier persona en Internet pueda leer la memoria en las máquinas que ejecutan las iteraciones afectadas de OpenSSL. Se pueden leer hasta 64 kb de memoria del sistema. Mientras que el Insecto Heartbleed se reveló al público en 2014, se lanzó en 2012.

La validación de entrada incorrecta a causa de una verificación de límites faltantes dentro de la extensión de latido de TLS causó el error. Ya que era un error en la extensión del latido del corazón, el nombre Heartbleed así engendró. Un artículo de 2014 en The Register informó que el 1.5% de los sitios habilitados para TLS más populares seguían siendo vulnerables al error Heartbleed. Sin embargo, las implementaciones de TLS aparte de OpenSSL estaban intactas. Por lo tanto, la versión de Windows de TLS y los servicios de seguridad de red de Mozilla no se vieron afectados por el error Heartbleed. Un parche eventualmente solucionó el problema con la versión 1.0.1g de OpenSSL. Al agregar verificaciones de límites para evitar la lectura excesiva del búfer, se corrigió el error Heartbleed.

Por qué es uno de los peores errores de programación: El Insecto Heartbleed creó una gran amenaza para la seguridad. El tiempo entre el lanzamiento y la aplicación de parches dejó a los sistemas afectados vulnerables durante años. Cada vez que hay un problema de vulnerabilidad en la computadora, esto crea una gran preocupación de seguridad de datos.

3. World of Warcraft Virus tomado demasiado literalmente

Crédito de la imagen: Wiki WoW

Mundo de Warcraft Una vez sufrió un virus informático de otro tipo. En 2005, una plaga digital se infiltró en algunos servidores de juegos. Miles de personajes cayeron presa del Virus de la Sangre.. Guau El desarrollador Blizzard presentó a Hakkar, el dios de la sangre. El enemigo considerable infectó personajes con sangre corrompida. Mientras que la infección de la sangre originalmente tenía la intención de afligir a los jugadores en las proximidades del cuerpo de Hakkar, la transferencia de jugador a jugador ocurrió fuera del reino. Este medio involuntario de propagar el virus de la sangre generado por las mascotas en el juego. Por otra parte, los personajes no jugadores (PNJ) se convirtieron en portadores..

Archimonde se convirtió en el primer servidor infectado. Los personajes de bajo nivel murieron instantáneamente. Incluso los personajes poderosos no duraron mucho más. Aunque una falla de codificación perpetuó el virus a través de NPCs y mascotas, el virus no fue planeado para ser lanzado fuera del reino de Hakkar. Mientras miles de jugadores murieron., Mundo de Warcraft No presenta la muerte perma. Blizzard corrigió el virus de la sangre con reinicios del servidor rodante. Pero no antes de los cadáveres del jugador Guau paisaje.

Por qué es uno de los peores errores de programación: OK entonces Mundo de Warcraft Puede que no presente un problema de seguridad de datos o un escenario que ponga en peligro la vida, pero los jugadores se toman su entretenimiento en serio. Blizzard pasó horas reiniciando servidores. Curiosamente, el comportamiento de los jugadores en el juego imitaba lo que podría suceder en una epidemia del mundo real con un brote desenfrenado, pánico y un colapso de la civilización. No ha jugado Guau? Comience con esta guía completa de NewBie Comenzando con World Of Warcraft: una guía completa de NewBie Comenzando con World Of Warcraft: una guía completa de Newbie Esto es lo que necesita saber si nunca ha probado World of Warcraft. Lee mas .

4. Therac-25

Mientras que muchos errores de programación causan vulnerabilidades o jugadores muertos en el juego, el código incorrecto en realidad puede matar. El desastre de Therac-25 ocurrió con la máquina de radioterapia Therac-25. Producido por Atomic Energy of Canada, el Therac-25 causó una sobredosis accidental de radiación y causó la muerte de al menos seis pacientes. Las investigaciones descubrieron que el software deficiente y el desarrollo insuficiente del sistema causaron sobredosis por radiación. En gran parte, esto se debió a dificultades para realizar pruebas automatizadas de software.

Las sobredosis de radiación de Therac-25 sirven como un recordatorio para crear un código que se puede probar fácilmente. Las máquinas que matan a los humanos pueden sonar como ciencia ficción, pero el incidente Therac-25 demuestra lo contrario. Pero esto fue realmente un resultado del error humano en la codificación que causó estos problemas. Expertos como Nancy Leveson descubrieron que los programadores inexpertos crearon software con errores. Además, solo un programador creó el software y se basó en el código de Therac-6 y Therac-20..

Por qué es uno de los peores errores de programación: Siempre que hay pérdida de vidas humanas, un error de programación es absolutamente uno de los peores ejemplos de código incorrecto.

5. Vuelo del antiguo marinero 1

La NASA usa bastante tecnología. Su New Horizons Probe emplea una CPU PlayStation. El Vicepresidente de Arquitectura e Ingeniería de Soluciones en NVIDIA Marc Hamilton bloguea regularmente sobre el uso que hace la NASA del hardware de NVIDIA. El cohete Mariner 1 se lanzó con una sonda espacial programada para explorar Venus. Sin embargo, poco después del lanzamiento, el cohete se desvió de su trayectoria de vuelo prevista. Mariner 1 fue destruido poco después del despegue.

Un error menor de un programador causó el error Mariner 1. Aunque los informes difieren, los signos apuntan a un guión faltante. Según documentos de archivo de la NASA., “La Junta de Revisión Post Vuelo de Mariner 1 determinó que la omisión de un guión en las instrucciones de computadora codificadas en el programa de edición de datos permitía la transmisión de señales de guía incorrectas a la nave espacial.” El renombrado autor Arthur C. Clarke (2001: una odisea del espacio) apodado el desastre de Mariner 1 “El guión más caro de la historia..”

Por qué es uno de los peores errores de programación: El error Mariner 1 pudo haberse evitado fácilmente. Anuncio de servicio público: queridos desarrolladores, prueba tu software.

6. La red de AT&T se cae

Crédito de la imagen: Unsplash via Pixabay

puedes escucharme ahora? No. El 15 de enero de 1990, más del 50 por ciento de la red de AT&T se estrelló. En nueve horas, 75 millones de llamadas quedaron sin respuesta. Si bien los informes iniciales culparon a los piratas informáticos, el verdadero culpable fue mucho peor: una actualización de software estándar. Recuerde esto la próxima vez que se queje de las actualizaciones de Windows 10. Las actualizaciones de Windows están configuradas para obtener menos molestas. Las actualizaciones de Windows están configuradas para obtener menos molestas. en los recursos de su sistema. Un cambio que probablemente ni siquiera se dará cuenta. Lee mas . Un error en solo una línea de código redujo la red de AT&T durante varias horas. Un interruptor se restableció, pero el error significó que el segundo interruptor envió otro mensaje. Esencialmente, se inició un efecto dominó con la red que continúa repitiendo su error. Finalmente, AT&T ideó una solución al reducir la carga de la red. Los interruptores se reinician.

A pesar de las pesadas pruebas, una sola declaración paralizó la red. El programa se escribió en C. Una instrucción break dentro de una cláusula if permaneció anidada en una cláusula de cambio. La gran interrupción de AT&T de 1990 parece ser un problema simple. Muchas llamadas perdidas, o como sería el caso hoy en día, un montón de mensajes perdidos, Instagram, Twitter y notificaciones de Snapchat. Sin embargo, la falta de comunicación tuvo enormes impactos monetarios. Compañías como American Airlines sufrieron pérdidas financieras. American Airlines recibió dos tercios menos de llamadas debido a la interrupción del servicio. El apagón de 1990 persiste como un excelente ejemplo de por qué las pruebas son importantes. Además, la interrupción de AT&T sirve como un recordatorio de la conexión inherente entre la tecnología y la economía.

Por qué es uno de los peores errores de programación: La red de AT&T no solo se derrumbó, sino que las varias horas que permaneció inactiva crearon una caída financiera..

7. Día de los muertos vivientes: el Hospital de la Misericordia de Santa María

Crédito de la imagen: Vitalworks via Pixabay

En 2003 un error de software de forma incorrecta “delicado” 8.500 personas. El St. Mary's Mercy Medical Center en Grand Rapids, Michigan, informó erróneamente que muchos pacientes fallecieron con un problema técnico en su sistema de software de manejo de pacientes. Este desastre del código malo es bastante inofensivo en comparación con las muertes de Therac-25, ya que en realidad nadie murió. Sin embargo, leer sobre tu propia muerte es desconcertante, especialmente cuando estás vivo y bien.

Los informes falsos de muerte no se limitaban a los pacientes. Esta correspondencia fue enviada a compañías de seguros y oficinas de la Seguridad Social. Debido a que los proveedores de seguro social y seguros aseguran que los pacientes elegibles tengan Medicare, esto representó un gran problema. Los empleados de St. Mary's Mercy informaron a los pacientes, agencias gubernamentales y proveedores de seguros del error. En última instancia, el error de programación no ganó mucha atención. No está claro si el error de codificación se corrigió alguna vez. Sin embargo, no surgieron más falsos informes de muerte. El hospital St. Mary's Mercy simplemente cambió el software de gestión de pacientes.

Por qué es uno de los peores errores de programación: Afortunadamente nadie murió en realidad. Pero el control de daños de asegurar una cobertura continua de atención médica fue un desastre.

8. Pre-Alpha del preso: Salida temprana

Crédito de la imagen: Alexas_Fotos via Pixabay

Michigan sufrió una falla en el procesamiento de datos entre 2003 y 2005. Durante ese tiempo, una falla en la programación de la computadora causó la liberación anticipada de 23 presos al golpear las sentencias de los presos del estado de Michigan. Los presos afortunados se beneficiaron de sentencias reducidas de 39 a 161 días. Si bien cualquier terminación accidental de la pena de prisión es problemática, afortunadamente estas fueron infracciones más pequeñas, como los cargos de drogas y malversación.

El software a menudo apunta a automatizar procesos. Al reducir las tareas manuales, nuestras vidas son teóricamente más fáciles. Sin embargo, este caso con los prisioneros de Michigan que salen de la cárcel pronto las tarjetas una vez más demuestra el valor de las pruebas de software. Un pequeño error de programación conlleva ramificaciones masivas, especialmente en este ejemplo. Imagínense si los prisioneros liberados incursionaron en delitos más graves..

Por qué es uno de los peores errores de programación: Este incidente podría haber sido mucho peor, pero la liberación temprana de prisioneros es aterradora.

9. Hartford Coliseum Falls

Aunque el colapso del Coliseo de Hartford en 1978 costó una pérdida reportada de $ 90 millones, podría haber sido sustancialmente peor. El Hartford Coliseum se derrumbó varias horas después de que los fanáticos abandonaron el lugar. Su techo enrejado de acero no pudo soportar el peso de la nieve húmeda. Un edificio colapsó debido a un simple error de programación. El codificador del software CAD utilizado para diseñar el coliseo de Hartford no tuvo en cuenta varias variables. En su lugar, el programador del software asumió que los soportes de acero del techo solo enfrentarían la compresión pura.

Los ingenieros se enfrentan a muchos desafíos. Usar software debería hacer su trabajo más fácil. Sin embargo, el no tener en cuenta varias variables conduce a inmensos desafíos. Mientras que simplemente puede parchar un error en Minecraft, El software CAD influye directamente en las estructuras del mundo real.

Por qué es uno de los peores errores de programación: Bueno, al menos nadie murió. Pero la devastación económica de una pérdida estimada de $ 90 millones es enorme.

10. Tengo 99 problemas y un Pentium es uno

En general, los procesadores Intel ofrecen un mejor rendimiento que sus homólogos de AMD. Sin embargo, AMD ofrece una excelente relación precio-rendimiento. Nuevo plan de AMD: Haga que la realidad virtual sea más barata para usted. Nuevo plan de AMD: Haga que la realidad virtual sea más barata para usted. Va a ser un gran jugador en el mercado de la realidad virtual. Lee mas . Pero en 1994, los microprocesadores Pentium de Intel sufrieron un gran problema. Las CPUs 486DX y Pentium tenían una unidad de punto flotante (FPU). Este FPU era un coprocesador matemático. Procesadores Intel de generación anterior procesaron matemáticas con enteros. Al incluir un FPU integrado, este chip Pentium de próxima generación prometió cálculos numéricos significativamente más rápidos.

El Pentium FPU utilizó un algoritmo STR de la raíz 4. La información ingresada incorrectamente causó cálculos ligeramente incorrectos. Pero incluso una pequeña variación puede significar problemas masivos como se muestra en el caso del colapso de Hartford o Therac-25. Aproximadamente cinco entradas en mil se quedaron fuera de la capacidad de división larga del Pentium. Intel afirmó oficialmente que un error de secuencias de comandos causó problemas de entrada de búsqueda. De cualquier manera, las matemáticas de Pentium se atribuyen a un código incorrecto.

Por qué es uno de los peores errores de programación: Unas pocas cifras significativas pueden parecer poco, pero en casos de ingeniería o precisión de la atención médica es esencial.

Malo al código: errores de programación suceden

Errores de programación han ocurrido desde el inicio de la codificación. Como el uso del código en una variedad de campos continúa expandiéndose, esta tendencia probablemente no desaparezca pronto..

Hay muchos ejemplos de errores de programación. Algunos son bastante inocuos como un Mundo de Warcraft insecto. Otros resultan en la muerte ya sea real (Therac-25) o imaginado (St. Mary's). No dejes que estos ejemplos famosos te impidan codificar. Consulte esta guía para elegir el lenguaje de programación web correcto Cómo elegir el lenguaje de programación web correcto para usar Cómo elegir el lenguaje de programación web correcto para usar ¿Por qué se deben elegir ciertos idiomas en lugar de otros en un escenario determinado? Este artículo proporcionará una lista de verificación de las preguntas que el programador debe hacer para elegir qué idioma usar. Lee mas .

¿Qué ejemplos históricos de código malo recuerdas? Deja un comentario a continuación con tus selecciones de errores de programación!

Crédito de la imagen: nouskrabs y McIek a través de Shutterstock.com

Explora más sobre: ​​Historia, Programación.