Qué es un bug informático y de donde proviene el término

Qué es un bug informático y de donde proviene el término

Qué es un bug informático y de donde proviene el término - que-es-un-bug

La palabra “Bug” significa insecto en Inglés, sin embargo en informática se utiliza para referirse a dos situaciones en particular, la primera, es cuando un programa cualquiera, no se comporta según las intenciones de su creador, la segunda, cuando las intenciones del programador o del programa no satisfacen las expectativas razonables del usuario; es decir, se usa para nombrar a los errores que se producen en un programa informático, el bug se crea en la programación o el diseño del software y se manifiesta ante el usuario en algún momento determinado, también se crea habitualmente con la inclusión de variables que no iniciaron en el momento preciso, una mala inclusión en las tablas de datos, el uso de fuentes difíciles de leer, la elección de colores que confunden al usuario, y otros errores, que parecieran ser de la máquina, pero en realidad son problemas de programación, básicamente, errores humanos.

El autor del libro “Simplicidad del Código: La ciencia del desarrollo del Software” «Code Simplicity: The Science of Software Development» Max Kanat-Alexander, ingeniero en Google, explica el origen del término Bug:

Según Max Kanat, el término Bug, tiene dos supuestos orígenes, uno se refiere a que alguien en algún momento, encontró que dentro de su computadora, había un insecto que le estaba causando problemas, tal vez en alguna ocasión, hayan visto, salir hormigas de una computadora, o de algún otro aparato eléctrico o electrónico, o bien, hayan notado algún problema en el uso de su computadora, y al abrir para limpiarlo hayan encontrado, hormigas o algún tipo de larvas, que pudieron causar algún mal funcionamiento. Y según esta teoría, de ahí comenzó a utilizarse el término, no obstante, según Alexander, Algunos ingenieros ya habían utilizado el término «bug» para referirse a algún problema informático, por tanto, no puede aseverarse del todo la primera teoría, sobre la presencia física de un insecto real dentro de la PC, pero, tampoco puede descartarse ya que es probable y posible. «Así que, mientras el programa haga todo lo que el informático intentó que hiciera, quiere decir que funciona correctamente. A veces lo que intentó hacer el programador es totalmente sorpresivo para el usuario y causa problemas, eso es un bug» Según Max Kanat-Alexander. Es decir, es un fallo no intencionado en el código de escritura de un programa o una mala elección a la hora de hacer un programa. Por otra parte, los bugs no son solamente un problema en software, también puede encontrarse errores tipo bugs en hardware.

Un error en de hardware puede ser un tanto simple, que nos confunda y no sepamos ubicar bien de donde proviene el error o también puede haber errores de hardware totalmente destructivos, por ejemplo, Alexander señala que es muy raro que un programador tenga intención de hacer explotar una computadora, por lo que si una colapsa, es más probable que se deba a un error físico en el PC y no de un error al crear el software.

El ingeniero explica que hay una excepción al bug y se refiere a la falta de programación de alguna orden específica al hacer el programa, por ejemplo, “ El programador escribe un software que no esté capacitado y este falla”. En ese caso la situación no puede ser considerada como bug” dado que no es un error programado, sino la carencia de un programa que puede ser instalado. Supongamos que el informático le pide a la computadora una función para la que no fue programado, y en consecuencia, esta no puede realizar la acción, a menos que los ingenieros añadan esa función.

Un programa lleno de errores se conoce como “buggy”, la mayoría de los buggies son errores humanos y no provocan que una PC colapse, incluso, pueden ser tan leves, que no causen efectos severos en la funcionalidad del programa y por tanto no son siempre detectados o tardan en ser detectados. Pero, hay otros Bugs que afectan la seguridad, cuando se refiere a errores que generan vulnerabilidades en el código de acceso que puede permitir a un usuario malintencionado acceder a los controles de un programa y obtener privilegios sin autorización del creador o programador.

Visto en ABC