Bug

En la categoria:

Los bugs son errores en los programas de ordenador que hacen que el software no funcione como debería. Por lo general, los bugs son causados por un error en el código que a menudo sólo es descubierto por los usuarios cuando utilizan el programa.

Información general

El nombre bug viene de la época en que se desarrollaron los primeros ordenadores. Las enormes máquinas calculadoras trabajaban con grandes circuitos, relés y elementos parcialmente mecánicos. Los insectos a menudo se metían en la carcasa del ordenador y causaban un cortocircuito o un mal funcionamiento similar. Testimonio de tal hallazgo es una anotación en el logbook con un escarabajo pegado, que se encontró en la’Calculadora de Relevo Aiken Mark II’ en 1947, después de un mal funcionamiento.[1]

El uso del término bug para un fallo en un sistema mecánico y/o eléctrico es, sin embargo, aún más antiguo: Se dice que Thomas Edison ya habló de bugs en 1878, cuando le habló a un amigo sobre las dificultades de sus inventos[2]

Tipos de uso

Los bugs ocurren en una amplia variedad de variantes. Dado que los programas son creados por humanos, se espera una frecuencia estadística de errores en el código fuente. Cuanto más grande es un programa, más probable es que los bugs sean detectados ya sea en pruebas beta o por los usuarios. Hay diferentes tipos de errores que conducen a bugs.

  1. Los errores léxicos son palabras de entrada mal escritas o desconocidas. Dependiendo del paradigma de programación utilizado, sólo son posibles ciertos comandos correctamente escritos de un lenguaje en particular (normalmente inglés). Incluso una minúscula o una traducción incorrecta puede dar lugar a un bug de programa.
  2. Los errores de sintaxis se caracterizan por el hecho de que no se han utilizado correctamente los caracteres disponibles del lenguaje de programación correspondiente. Si falta un punto y coma o comillas, el programa puede fallar en estos puntos.
  3. Los errores semánticos se producen cuando se definen incorrectamente partes del programa como un parámetro o un argumento. La sintaxis puede ser completamente correcta, pero un error en la declaración puede conducir a resultados no deseados.
  4. Si el programa todavía contiene un error que sólo se hace aparente durante la ejecución de test, esto se conoce como error de tiempo de ejecución. El compilador traduce el programa a código binario para que la computadora pueda ejecutar el programa. Si ocurren valores inesperados para ciertas variables, puede abortar, aunque todo parece estar bien en términos formales.
  5. Los errores de ejecución están estrechamente relacionados con los errores lógicos. En particular, los programas grandes pueden producir resultados indeseables debido a errores lógicos en el código fuente. El programa no finaliza, sino que emite datos que se supone que no debe emitir. Los errores lógicos también pueden producir agujeros de seguridad.

Relevancia práctica

Evitar bugs comienza con la planificación de un proyecto de programación, en lo que se denomina ingeniería de software. Las fases de un proyecto se definen en función de los objetivos del programa. Los procesos estructurales aseguran que el programa produzca exactamente lo que se supone que debe producir. Esto se acompaña de una documentación del proceso de desarrollo para poder llevar a cabo cambios sencillos posteriormente.

Sin embargo, dado que algunos bugs sólo se descubren cuando muchos usuarios utilizan el programa, se llevan a cabo pruebas alfa y beta antes de que el programa sea liberado. Incluso después de la publicación de un programa, los bugs pueden corregirse mediante actualizaciones, correcciones o parches. Un bug conocido es Heartbleed, por ejemplo.

Importancia para el SEO

Con referencia al lenguaje de marcado HTML y lenguajes de scripting como JavaScript o Jscript, hay errores en documentos o scripts que pueden tener un impacto directo en la optimización de motores de búsqueda. Los errores pueden limitar la accesibilidad de un sitio web a un motor de búsqueda, pero otros factores onpage y offpage pueden contener errores pero aún así conducir a los resultados deseados.

Ocasionalmente, los SEOs también explotan los errores para influir en el posicionamiento mediante los llamados métodos del black hat.

Referencias

[1] [2]