Bugs: ¿Héroes o Villanos? Cómo los Errores Moldean Nuestra Realidad

Imagen de portada de Bugs por Tecsify
¿Problemas de visión? En Tecsify nos importa la inclusión de personas con discapacidad, por eso, ahora puedes esuchar los articulos narrados en tiempo real

En nuestro mundo digitalizado, los bugs no son simples errores de programación; pueden afectar nuestra vida cotidiana, influir en la economía global e incluso comprometer el funcionamiento de toda la sociedad. Ya hemos sido testigos de cómo algunos bugs han cambiado el mundo de formas profundas e inesperadas, dejando una huella que va más allá del software.

Con la expansión del Internet de las Cosas y su incursión en cada aspecto de nuestro entorno, la importancia de identificar, entender y prevenir los bugs se vuelve cada vez más crucial. No se trata solo de arreglar fallos técnicos, sino de asegurar la estabilidad de un mundo cada vez más interconectado, donde cada línea de código puede tener un impacto tangible en nuestra realidad.

¿Qué es un bug?

En el ámbito del software, un bug es un error inesperado o un fallo en el sistema que provoca un comportamiento incorrecto o un resultado no deseado. Estos errores pueden hacer que un programa funcione de manera inadecuada, afectando su rendimiento o incluso llevándolo a fallar por completo. Ningún sistema de información está exento de bugs, ya que estos son parte inevitable del desarrollo de software.

Para identificar y corregir estos errores, existen herramientas conocidas como depuradores (en inglés, debuggers), que permiten a los desarrolladores detectar y eliminar fallos, mejorando así la estabilidad y funcionalidad del software.

Una breve historia del término ‘bug’:

El origen del término “bug” en la informática tiene una historia fascinante que se remonta al 9 de septiembre de 1947. En aquella fecha, la destacada física y matemática Grace Murray Hopper, junto con su equipo, estaba trabajando en la Universidad de Harvard en el desarrollo del Mark II, un ordenador electromecánico construido para la Armada de Estados Unidos. Durante las pruebas, el equipo notó un fallo en el funcionamiento del relé electromagnético del sistema.

Al inspeccionar la máquina, encontraron la causa: una polilla había quedado atrapada entre los circuitos, causando un fallo eléctrico. Hopper registró este evento de una manera memorable. Pegó la polilla en el cuaderno de bitácora del proyecto y escribió la frase: “First actual case of bug being found” (el primer caso real de encontrar un “bug” [error]).

Foto del origen de la leyenda acerca del primer bug informático conocido.
Foto del origen de la leyenda acerca del primer bug informático conocido.

Aunque ya existían referencias previas al término “bug” en la ingeniería, para describir fallos o problemas mecánicos desde finales del siglo XIX, este incidente se volvió legendario y ayudó a popularizar la palabra dentro del ámbito informático. Thomas Edison, por ejemplo, ya había mencionado la palabra “bug” en sus diarios para describir defectos o problemas técnicos, pero fue Grace Hopper quien consolidó el término específicamente en el mundo de la computación.

Desde entonces, “bug” se utiliza para describir cualquier error o falla inesperada en un programa informático. Este evento simbólico marcó el inicio de la relación inseparable entre los desarrolladores de software y los errores del sistema, los cuales han llegado a convertirse en parte del folclore de la programación. Además, el término “debugging”, que hace referencia al proceso de identificar y corregir estos errores, deriva directamente de esta anécdota.

También puede interesarte: Día del Programador: ¿Qué hace a 256 un número único? 

Bugs que marcaron la historia:

Therac-25: Un error de software que costó vidas con sobredosis de radiación mortales:

Foto del Theract-25
Foto del Theract-25

Uno de los fallos de software más trágicos y recordados en la historia es el ocurrido con el acelerador lineal médico Therac-25. Esta máquina, con un costo de un millón de dólares, se utilizaba para el tratamiento de pacientes con cáncer mediante radioterapia. Sin embargo, entre 1985 y 1987, debido a un error en su software, el Therac-25 ocasionó la muerte de varios pacientes, lo que evidenció la importancia crítica del desarrollo responsable del software.

Lo que ocurrió es que, debido a un fallo en el software de control, en ocasiones se exponía a los pacientes al haz de alta intensidad sin la protección intermedia de la placa metálica, causando una exposición a dosis letales de radiación (100 veces mayores de lo esperado) y acabando con la vida de estos meses más tarde. Los anteriores modelos tenían un control mecánico y por hardware que detectaba si estaba o no puesta la placa impidiendo activar el haz de alta intensidad si no era así. En el Therac-25 esto se dejó al criterio del software, que no detectaba bien esto debido a una condición de carrera en el programa.

Este trágico caso no solo es un recordatorio del poder que tiene el software para influir en la vida humana, sino también una lección sobre la importancia de las pruebas rigurosas y el aseguramiento de la calidad en sistemas críticos. La confianza en una solución basada exclusivamente en software, sin mecanismos de seguridad de respaldo, resultó ser un error fatal.

Knight Capital: El bug de 45 minutos que costó más de 440 millones de dólares:

Foto de los empleados de Knifht Capital
Foto de los empleados de Knifht Capital

Knight Capital, una firma de inversión dedicada a la compra-venta de acciones en Wall Street, decidió automatizar sus transacciones con el objetivo de ganar velocidad y eficiencia. Utilizaron una aplicación para ejecutar automáticamente compras y ventas a lo largo de varios días. Sin embargo, el 1 de agosto de 2012, un error en el software provocó una disrupción masiva en el mercado.

El 1 de agosto de 2012 Knight Capital provocó una disrupción del mercado de bolsa que le llevó a perder en dos días el 75% de su capitalización bursátil. ¿Qué terminó pasando? El sistema en vez de ejecutar las operaciones siguiendo la línea temporal que se había planificado, terminó realizando las transacciones una tras otra y, por tanto, realizando las compras y las ventas al precio del 1 de agosto. Millones de acciones fueron cambiando de manos a un ritmo frenético y sin control, provocando que la compañía perdiese el equivalente a 4 veces sus beneficios del año pasado. Además de las pérdidas, la reputación de la compañía cayó por los suelos y el valor de sus acciones pasó de 4 dólares a algo menos de 1 dólar, es decir, prácticamente nada.

Un bug con una duración de 45 minutos fue suficiente para llevar al borde del abismo a la compañía y su cartera de clientes además de provocar problemas al funcionamiento del propio Wall Street y unas 100 compañías cuyas acciones fueron vendidas sin control.

2K: El bug que iba a “Terminar con el mundo”:

Los desarrolladores del siglo pasado nunca imaginaron que sus programas sobrevivirían hasta el nuevo milenio. Por ello, para ahorrar memoria, muchos asumieron que los dos primeros dígitos del año, “19”, eran innecesarios, y optaron por omitirlos. Esto funcionó bien durante décadas, hasta que nos acercamos al 31 de diciembre de 1999 y se hizo evidente que muchos sistemas informáticos pasarían automáticamente al 1 de enero de 1900, en lugar de 2000. Se temía que esto desataría catástrofes, desde fallos bancarios hasta el lanzamiento accidental de misiles nucleares.

Todo bien hasta que nos acercamos al 31 de diciembre de 1999: nos dimos cuenta que, por esa decisión, los sistemas informáticos pasarían en año nuevo al 1 de enero de 1900 en lugar de 2000 y, a raíz de esto, se desatarían grandes catástrofes y sería el fin de la humanidad.

A pesar del éxito de la prevención, sí hubo algunos fallos menores: en España, parquímetros dejaron de funcionar; el instituto meteorológico francés publicó un informe del clima fechado “1 de enero de 19100”; y en Australia, las máquinas validadoras de boletos de autobuses fallaron. Aunque el llamado “efecto Y2K” resultó ser más benigno de lo esperado, sigue siendo un recordatorio del impacto que pueden tener las decisiones de programación y de la necesidad de prever el futuro en la tecnología.

¿Qué opinas? ¡Cuéntanos en los comentarios!

Oscar Morales Cuellar
Oscar Morales Cuellar es un Software Engineer, estratega de innovación tecnológica y conferencista internacional. Como CEO de Tecsify Latinoamérica, ha llevado la democratización de la tecnología, educación e innovación a más de 10 países, obteniendo múltiples reconocimientos internacionales y convirtiéndose en un referente global en empoderamiento y desarrollo tecnológico.