¿Qué es un error? Origen del término y ejemplos.

Puntuación0
Puntuación0

¿Qué es un error? Origen del término y ejemplos.
Créditos: Reproducción/Dall-E

Un error, en el contexto de la tecnología, se refiere a un error o falla en el software o hardware que provoca un comportamiento inesperado o no deseado. Los errores pueden variar desde problemas visuales menores hasta fallas críticas que comprometen la funcionalidad de todo el sistema.

En el desarrollo de software, un error puede surgir debido a varios factores, como errores lógicos, errores de cálculo, incompatibilidades entre sistemas o simples fallos humanos durante la programación.

Los errores son una parte inevitable del proceso de desarrollo, especialmente en sistemas complejos con millones de líneas de código. Aunque se llevan a cabo pruebas rigurosas para identificarlos y corregirlos antes de un lanzamiento o actualización, muchos de ellos solo se descubren después de que los usuarios utilizan el software en situaciones del mundo real.

La corrección de estos errores se realiza mediante procesos como la depuración (o depuración), que implica identificar, aislar y solucionar el problema en el código. Además, existen diferentes tipos de errores, como errores de aritmética, interfaz, lógica y sintaxis, cada uno de los cuales causa diferentes tipos de problemas en el funcionamiento del software.

¿Cuál es la historia del error?

El origen del término “error” se remonta a los inicios de la informática. En 1947, cuando las computadoras todavía eran grandes máquinas electromecánicas, una polilla quedó atrapada en un relé de la computadora Mark II, desarrollada en la Universidad de Harvard y operada por la Marina de los Estados Unidos.

Museo de Historia de la Computación/Reproducción

El insecto provocó un mal funcionamiento en la máquina y, cuando se descubrió, quedó registrado en el libro de registro como “el primer caso real de error encontrado”. Este incidente marcó el comienzo del uso del término «error» para describir problemas técnicos en los sistemas informáticos.

Aunque este es el relato más famoso y documentado, el uso de la palabra «error» para describir fallas técnicas no era del todo nuevo en ese momento. En el ámbito de la ingeniería, el término ya se había utilizado para indicar defectos o fallos en sistemas mecánicos. Sin embargo, fue la polilla del Mark II la que popularizó el término en el contexto de la informática, solidificando su uso en el vocabulario técnico.

A partir de ese momento, “bug” se convirtió en una expresión común para designar cualquier tipo de error en software y hardware, y la práctica de “depuración”(o depuración) se volvió esencial en el desarrollo de programas para garantizar que funcionaran como se esperaba.

Leer más:

tipos de errores

En el desarrollo de software, los errores se pueden clasificar en diferentes categorías según su naturaleza e impacto en el sistema.

Y cada tipo de error puede tener resultados diferentes, desde inconvenientes menores hasta fallas catastróficas, según el contexto en el que ocurren.

1. Error aritmético

Ocurre cuando hay errores en los cálculos realizados por el software. Puede deberse a problemas como errores de precisión, rebosar (cuando el valor calculado excede el límite que se puede almacenar) o división por cero.

Un ejemplo clásico de error aritmético fue el problema con la misión Mars Climate Orbiter, donde una conversión incorrecta entre unidades métricas e imperiales resultó en la pérdida de la sonda.

2. Error de interfaz

Surgen cuando existen incompatibilidades entre diferentes sistemas o componentes, ya sean hardware o software. Los problemas en las API (interfaces de programación de aplicaciones) o las incompatibilidades de hardware son ejemplos típicos de errores de interfaz.

Este tipo de error puede impedir que los sistemas se comuniquen correctamente, lo que resulta en mal funcionamiento o fallas.

3. Error de lógica

Un error de lógica ocurre cuando el código del software contiene una falla en el razonamiento lógico que le impide producir el resultado esperado.

Estos errores pueden provocar comportamientos inesperados, como bucles infinitos o salida de datos incorrecta. Un ejemplo sería un error en una condición «si» que provoca que un bloque de código se ejecute en una situación incorrecta.

4. Error de sintaxis

Es causado por un uso incorrecto del lenguaje de programación. Puede implicar errores como caracteres incorrectos o estructuras de código que no siguen las reglas del idioma.

Aunque el compilador detecta muchos de estos errores durante la fase de desarrollo, algunos pueden pasar desapercibidos y provocar fallos durante la ejecución del programa.

5. Error de competencia

Los errores de concurrencia son comunes en sistemas que realizan múltiples tareas simultáneamente. Estos errores ocurren cuando dos o más operaciones interactúan de manera inesperada, provocando condiciones de carrera, interbloqueos o problemas similares.

Los errores de concurrencia son muy difíciles de reproducir y corregir, ya que dependen del momento específico de las operaciones concurrentes.

6. Error de recursos

Este tipo de error está relacionado con el uso inadecuado de recursos del sistema como memoria, archivos o conexiones de red. Los ejemplos incluyen pérdidas de memoria, donde la memoria no se libera correctamente después de su uso, o desbordamiento de memoria. bufferdonde el software intenta almacenar más datos de los que el búfer puede contener, lo que puede provocar agujeros de seguridad.

7. Error visual

Un error visual afecta la apariencia del software, como problemas al representar gráficos o errores en la interfaz de usuario. Aunque estos errores no afectan directamente la funcionalidad del software, pueden afectar negativamente la experiencia del usuario.

8. Error funcional

Ocurren cuando una característica del software no funciona como se esperaba. Por ejemplo, cuando un botón «Guardar» no realiza la acción de guardar o cuando una función devuelve un resultado incorrecto. Los errores funcionales son muy críticos ya que afectan directamente la utilidad del software.

Ejemplos de errores clásicos

La historia de la tecnología está llena de errores que han causado de todo, desde inconvenientes menores hasta desastres importantes. Échale un vistazo:

Therac-25 (1985-1987)

Uno de los ejemplos más trágicos de errores en la historia de la informática ocurrió con la máquina de radioterapia Therac-25. Debido a un error de competición, la máquina administró dosis letales de radiación a los pacientes, lo que provocó la muerte de al menos cinco personas y heridas graves a varias más. Este caso destacó la importancia crítica de las pruebas y validación rigurosas en sistemas que tratan con vidas humanas.

Orbitador climático de Marte (1999)

La misión Mars Climate Orbiter de la NASA terminó en un fracaso cuando la sonda se desintegró al entrar en la atmósfera de Marte. ¿Causa? Un error aritmético que surge de no poder convertir unidades métricas a imperiales. Este error de cálculo condujo a una trayectoria equivocada, lo que resultó en la pérdida de una misión de 125 millones de dólares.

El error del año 2000 (Y2K)

El error del milenio, o Y2K, surgió de una práctica común en décadas anteriores en la que las fechas en los sistemas informáticos se almacenaban con sólo dos dígitos para representar el año (por ejemplo, “99” para 1999).

A medida que se acercaba el año 2000, se temía que los sistemas interpretaran “00” como 1900, provocando fallos a gran escala. Aunque muchos de los peores escenarios no se hicieron realidad, el año 2000 requirió un esfuerzo global masivo para reparar los sistemas antes del cambio de milenio.

Ariane 5 (1996)

La explosión del cohete Ariane 5 menos de un minuto después de su lanzamiento fue provocada por un error en el sistema de guía. El error se produjo debido a una falla al convertir datos entre diferentes partes del sistema, lo que resultó en una excepción de desbordamiento. Este fallo destruyó el cohete y su carga útil, provocando pérdidas de alrededor de 370 millones de dólares.

El escándalo de Post Office Horizon (década de 2000)

En el Reino Unido, el sistema de contabilidad Horizon utilizado por el servicio postal ha provocado una serie de acusaciones injustas contra los empleados.

Debido a errores en el software, el sistema mostró inconsistencias financieras que llevaron al procesamiento y, en algunos casos, al arresto de trabajadores postales por presunta malversación de fondos.

Años más tarde, se descubrió que los errores estaban en el software, lo que provocó la mayor injusticia judicial en la historia británica reciente.

El error Chinook de la RAF (1994)

Un helicóptero Chinook de la RAF se estrelló en Escocia, matando a 29 personas. El accidente se atribuyó inicialmente a un error del piloto, pero investigaciones posteriores sugirieron que un error en el software de control de vuelo podría haber contribuido a la tragedia. Este incidente todavía es objeto de debate, pero ilustra los peligros potenciales de errores en sistemas críticos.

Los 5 bichos más famosos

Además de los ejemplos clásicos que causaron gran impacto, también hay una serie de bichos que se han hecho famosos, ya sea por su peculiaridad o por el gran número de afectados. Ellos son

1. El error “caniche” en SSL (2014)

“Poodle” (Padding Oracle On Downgraded Legacy Encryption) fue un error descubierto en 2014 que afectó la seguridad del cifrado SSL 3.0, utilizado para proteger la comunicación entre navegadores y servidores.

El error permitió a los atacantes interceptar y descifrar datos confidenciales, como las cookies de sesión. Este error expuso la fragilidad de los protocolos antiguos y aceleró la transición a versiones de cifrado más seguras.

2. El error Pokémon “MissingNo” (1996)

En los juegos Pokémon Rojo y Azul, lanzados para Game Boy, un error peculiar llamado «MissingNo» provocó la aparición de un Pokémon defectuoso que no estaba programado en el juego.

Al encontrar MissingNo, los jugadores podrían dañar los archivos de su juego u obtener elementos en grandes cantidades. A pesar de los riesgos, el error se ha convertido en parte de la cultura pop de los videojuegos, y muchos jugadores lo explotan intencionalmente.

3. El error “Big Cheese” en GoldenEye 007 (1997)

En el juego GoldenEye 007 para Nintendo 64, un error permitía a los jugadores activar el «Modo de cabeza grande», donde los personajes tenían cabezas desproporcionadamente grandes.

Aunque no fue un error que afectara el juego, se convirtió en uno de los huevos de Pascua involuntarios más famosos y contribuyó a la popularidad del juego.

4. El error “Ardilla Emoji” en WhatsApp (2018)

En 2018, una cadena de mensajes en WhatsApp que contenía un emoji de ardilla y la frase “no toques aquí” provocó que la aplicación fallara cuando se seguía la instrucción. El fallo, que sólo afectaba a los smartphones Android, ganó notoriedad por su sencillez y por el gran número de usuarios afectados.

5. El error de la “Pantalla azul de la muerte” en Windows

Quizás el más temido por los usuarios comunes. La «Pantalla azul de la muerte» (BSOD) es un mensaje de error fatal que muestra el sistema operativo Windows después de una falla crítica.

BSOD se ha vuelto ampliamente reconocido y es uno de los errores más emblemáticos asociados con Windows. Puede deberse a una variedad de problemas, desde fallas de hardware hasta errores graves de software.

Otras curiosidades sobre los bichos

  • El primer error fue una polilla que provocó que una computadora fallara en 1947.
  • Los Heisenbugs son errores que desaparecen o cambian cuando se investigan.
  • Los errores de software le cuestan a la economía mundial miles de millones al año.
  • Las empresas pagan recompensas a quienes encuentran vulnerabilidades en sus sistemas.
  • Los errores en los juegos, como «MissingNo» en Pokémon, se han convertido en íconos culturales.
  • El fallo de HAL 9000 en “2001: Odisea en el espacio” es un ejemplo famoso de la ficción.

¿Estás molesto?

A pesar de los avances en los procesos de desarrollo y las pruebas rigurosas, los errores siempre formarán parte del universo tecnológico. La creciente complejidad de los sistemas garantiza que, por mucho que intentemos eliminarlos, seguirán surgiendo nuevos errores.

La realidad es que el desafío no es eliminarlos por completo, sino aprender a gestionarlos de manera efectiva, minimizando sus impactos y asegurando la mejor experiencia posible para los usuarios.

Estaremos encantados de escuchar lo que piensas

Deje una respuesta

Lucas Laruffa
Logo