Imagen de código informático
Imagen de código informático - fotolia
Tecnodummies

¿Qué es un bug?

Max Kanat-Alexander, autor del libro «Code Simplicity: The Science of Software Development» e ingeniero en Google, explica el origen del término

Actualizado: Guardar
Enviar noticia por correo electrónico

Es un término que suele aparecer en muchas noticias tecnológicas, pero para algunas personas no se trata de un concepto claro. Max Kanat-Alexander, autor del libro «Code Simplicity: The Science of Software Development» e ingeniero en Google, explica el origen del término.

«Bug» es un término en inglés, cuya traducción literal es insecto, aunque en el argot de la informática tiene otro significado. El ingeniero explica en su blog oficial que a muchos programadores le han contado que alguien encontró un insecto dentro de un ordenador y estaba ocasionando problemas. De ahí, cuenta la leyenda, comenzó el término, aun que al parecer, dice Kanat-Alexander, alguno ingenieros ya habían utilizado «bug» para referirse a un problema informático.

Un «bug», se puede referir a dos situaciones.

La primera, el programa (llámese Candy Crush, Soundcloud o Facebook) no se comporta según las intenciones del programador, de su creador. La segunda, las intenciones del informático no satisfacen las expectativas razonables del usuario.

«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», señala. Es decir, es un fallo no intencionado en el código de escritura de un programa.

Los «bugs» no se presentan solo en software, también puede haber errores en hardware. Kanat-Alexander señala que es muy raro que un programador tenga intención de hacer explotar un ordenador, por lo que si el informático escribe un software y el ordenador colapsa, lo más más probable es que se haya tratado de un error físico en el PC. Este es un ejemplo exagerado, ya que los bug de hardware también pueden ocasionar consecuencias menos dramáticas.

El ingeniero explica que hay una excepción al bug. Por ejemplo, el programador escribe un software en un ordenador que no esté capacitado y este falla. En ese caso la situación no puede ser considerada como «bug». Por ejemplo, el informático le dice al ordenador «bebe agua», pero la máquina no está diseñada para «beber agua», así que no puede realizar la acción. Eso no es un «bug» sino que los ingenieros deberían añadir esa función al ordenador.

Un bug en un software ocasiona que el programa colapse o que de errores. La mayoría de los bugs son fallos humanos. Un programa lleno de bugs es calificado como «buggy».

Algunos bugs pueden que no causen efectos severos en la funcionalidad del programa y puede pasar mucho tiempo sin ser detectado. Hay otra categoría de bugs que afecta a la seguridad. Este tipo de errores en el código, puede permitir que un usuario con malas intenciones pueda acceder a los controles de un programa y obtener privilegios sin autorización.

Entre los bugs más recientes de seguridad se encuentra el «Heartbleed». Este error estaba en el código de creación de la librería OpenSSL, una herramienta que usaban millones de páginas webs y miles de aplicaciones para encriptar los datos.

El año pasado, el la primera actualización del iOS 8 de Apple incorporó un bug que eliminaba la conexión a la red celular, es decir, no podían hacer llamadas o conectarse a través de datos y también dañaba el Touch ID de los iPhone 6 y iPhone 6 Plus.

En 1990 se encontró un bug en un software de AT&T en las máquinas 4ESS, que permitía activar los ordenadores a distancia. Causó el colapso de varios ordenadores.

En 1996 un cohete de Ariane 5, desarrollado por la Agencia Espacial Europea durante una década y en el que se invirtió siete mil millones de dólare, se destruyó a pocos segundos de su despegue debido a un bug en el software que cortó la comunicación de guía.

Ver los comentarios