{"id":6514,"date":"2022-03-02T15:27:43","date_gmt":"2022-03-02T15:27:43","guid":{"rendered":"http:\/\/itdconsulting.com\/bugs-o-errores-informaticos\/"},"modified":"2022-06-13T12:23:51","modified_gmt":"2022-06-13T17:23:51","slug":"bugs-o-errores-informaticos","status":"publish","type":"page","link":"https:\/\/itdconsulting.com\/en\/base-de-datos\/microsoft-sql-server\/bugs-o-errores-informaticos\/","title":{"rendered":"Bugs o errores inform\u00e1ticos"},"content":{"rendered":"<p>Un error de software, error o simplemente fallo (tambi\u00e9n conocido por el ingl\u00e9s, bug) es un problema en un programa de computador o sistema de software que desencadena un resultado indeseado. Los programas que ayudan a la detecci\u00f3n y eliminaci\u00f3n de errores de software son denominados depuradores (en ingl\u00e9s, debuggers).<\/p>\n<p><img fetchpriority=\"high\" decoding=\"async\" class=\"size-full wp-image-6516 aligncenter\" src=\"https:\/\/itdconsulting.com\/wp-content\/uploads\/2022\/03\/ilustracion-de-error-en-formato-3d.jpg\" alt=\"\" width=\"1880\" height=\"940\" \/><\/p>\n<p>Es decir, en software, un bug es un error no controlado en el sistema. Por lo tanto, un bug ocasiona que el sistema funcione de forma inadecuada y genera un resultado indeseado.<\/p>\n<p>La mayor\u00eda de los bugs se originan por errores de quienes desarrollan el c\u00f3digo de un software o sistema, al dise\u00f1ar \u00e9stos o al no ser compatibles con otros programas o hardware.<\/p>\n<p><strong>\u00a0<\/strong><\/p>\n<p><strong>\u00bfCu\u00e1l es su origen?<\/strong><\/p>\n<p>El t\u00e9rmino bug se usa al menos desde 1872 en el que Thomas Alva Edison lo utiliz\u00f3 en sus notas, adem\u00e1s, aparece en una carta suya de 1878 en la que habla de defectos mec\u00e1nicos o el\u00e9ctricos\u200b, y tambi\u00e9n en 1889 la emple\u00f3 cuando hizo una referencia a las interferencias y mal funcionamiento de un fon\u00f3grafo.<\/p>\n<p>En principio se asoci\u00f3 a la f\u00edsica y matem\u00e1tica Grace Murray Hopper y a otras personas que trabajaron en la Universidad de Harvard en el Mark II. As\u00ed, informaron de que un ordenador hab\u00eda sufrido un fallo en el rel\u00e9 electromagn\u00e9tico. Luego, m\u00e1s tarde cuando se investig\u00f3 ese rel\u00e9 se encontr\u00f3 una polilla (bug) frita que hizo que ese rel\u00e9 quedase abierto. Entonces Hopper peg\u00f3 ese insecto con una cinta adhesiva en la bit\u00e1cora en el que a\u00f1adi\u00f3 este incidente.<\/p>\n<p><strong> <img decoding=\"async\" class=\"size-full wp-image-6515 alignright\" src=\"https:\/\/itdconsulting.com\/wp-content\/uploads\/2022\/03\/ejemplo-de-bug-en-windows-0e-016f-bff9b3d4.jpg\" alt=\"\" width=\"602\" height=\"339\" \/><\/strong><\/p>\n<p><strong>\u00bfC\u00f3mo se crean?<\/strong><\/p>\n<p>En la mayor\u00eda de casos, un bug se crea por un fallo o error por parte de quienes desarrollan el c\u00f3digo de un software o sistema. Algunos errores de programaci\u00f3n comunes que podemos encontrar son la divisi\u00f3n por cero, el ciclo infinito, problemas aritm\u00e9ticos como desbordamientos (overflow) o subdesbordamientos (underflow), exceder el tama\u00f1o del array definido o utilizar una variable no inicializada.<\/p>\n<p>Tambi\u00e9n est\u00e1n a la orden del d\u00eda los errores tipogr\u00e1ficos en el que se confunde el n\u00famero \u00ab0\u00bb con la vocal \u00abO\u00bb. Para finalizar con este apartado, otros bugs que nos podemos encontrar son:<\/p>\n<ul>\n<li>Desbordamiento de b\u00fafer (buffer overflow).<\/li>\n<li>Acceso a memoria no permitida (violaci\u00f3n de acceso)<\/li>\n<li>Errores de sintaxis, como, por ejemplo, no acabar una instrucci\u00f3n con un punto y coma (;) en un lenguaje de programaci\u00f3n que lo necesita.<\/li>\n<li>Uso incorrecto de API.<\/li>\n<\/ul>\n<p><strong>\u00a0<\/strong><\/p>\n<p><strong>\u00bfPor qu\u00e9 debemos evitarlos?<\/strong><\/p>\n<p><img decoding=\"async\" class=\"size-full wp-image-6517 alignleft\" src=\"https:\/\/itdconsulting.com\/wp-content\/uploads\/2022\/03\/lupa-buscando-bug-o-bugs-en-codigo-binario.jpg\" alt=\"\" width=\"602\" height=\"368\" \/><\/p>\n<p>Los bugs inform\u00e1ticos son errores o fallas de un programa o sistema que produce resultados inesperados, es decir, que trabaja de una forma para la que no estaba dise\u00f1ado originalmente.<\/p>\n<p>Aunque en la era digital se ha convertido en un t\u00e9rmino muy recurrente, este concepto se ha utilizado desde hace m\u00e1s de 140 a\u00f1os. El inventor estadounidense y fundador de General Electric, Thomas Alva Edison describi\u00f3 en sus anotaciones como \u201cbugs\u201d a los problemas t\u00e9cnicos que se le presentaban al desarrollar alg\u00fan proyecto.<\/p>\n<p>La mayor\u00eda de los bugs se originan por errores de quienes desarrollan el c\u00f3digo de un software o sistema, al dise\u00f1ar \u00e9stos o al no ser compatibles con otros programas o hardware.<\/p>\n<p>&nbsp;<\/p>\n<p><strong>\u00bfC\u00f3mo nos afectan?<\/strong><\/p>\n<p>Seg\u00fan su origen y las diversas condiciones en las que aparecen, existen varios tipos de bugs que pueden provocar diversas fallas, algunas representan menores riesgos que otras.<\/p>\n<p>Los bugs menores, por ejemplo, un cursor que no se comporta como est\u00e1 previsto, pueden ser inc\u00f3modos, pero no da\u00f1an la informaci\u00f3n de los programas. Otros pueden provocar que un programa se bloquee o deje de responder a los comandos deseados, lo que obliga al usuario a reiniciar el programa, perdiendo todo el trabajo que no haya guardado con anterioridad.<\/p>\n<p>Sin embargo, existen bugs que generan brechas de seguridad. Estas vulnerabilidades pueden ser aprovechados por delincuentes cibern\u00e9ticos para vulnerar la seguridad de programas o sistemas, para acceder, obtener informaci\u00f3n o provocar fallas.<\/p>\n<p>Un bug inform\u00e1tico puede afectar a diversos equipos de muy diversa \u00edndole, como, por ejemplo:<\/p>\n<ul>\n<li>Un ordenador o port\u00e1til.<\/li>\n<li>Al smartphone o tablet.<\/li>\n<li>Un router dom\u00e9stico o equipamiento de red.<\/li>\n<li>A los dispositivos de IoT, de dom\u00f3tica o de v\u00eddeo vigilancia.<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p><strong>\u00bfA qu\u00e9 tipo de bugs o errores inform\u00e1ticos nos podemos enfrentar?<\/strong><\/p>\n<p>La gravedad de un bug inform\u00e1tico se va a determinar en funci\u00f3n del impacto que tiene el fallo en la operaci\u00f3n del sistema o equipo. Este impacto negativo se puede traducir de diversas maneras como la p\u00e9rdida de datos y la disminuci\u00f3n de ingresos.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-6518 alignright\" src=\"https:\/\/itdconsulting.com\/wp-content\/uploads\/2022\/03\/lupa-buscando-un-bug-en-el-codigo-de-programacion.jpg\" alt=\"\" width=\"602\" height=\"368\" \/><\/p>\n<p>Las reglas para clasificar un error de software deber\u00e1n ser determinadas en funci\u00f3n de la tarea que realizan. Por ejemplo, el bug de un juego, un navegador de Internet o un sistema de monitoreo de seguridad en tiempo real tienen un impacto diferente.<\/p>\n<p>No obstante, aunque los niveles de gravedad no est\u00e1n estandarizados, habitualmente se suelen usar estos:<\/p>\n<ul>\n<li>Cr\u00edtico: se trata de un error que al producirse hace que el programa no pueda ejecutarse. Se trata de errores que pueden llegar a bloquear el sistema.<\/li>\n<li>Alto: se produce cuando ese error afecta seriamente a la funcionalidad de la aplicaci\u00f3n y complica utilizarla.<\/li>\n<li>Medio: podemos trabajar, pero de vez en cuando tenemos mensajes de la aplicaci\u00f3n que son incorrectos o peque\u00f1os fallos que nos ralentizan.<\/li>\n<li>Bajo: son errores de bajo impacto, y que nos afectan muy poco o nada. Podemos apreciar errores est\u00e9ticos en la interfaz de usuario o errores tipogr\u00e1ficos. Alg\u00fan ejemplo podr\u00edan ser men\u00fas que se le hayan olvidado traducir o que, entre los nombres, aparezcan caracteres extra\u00f1os.<\/li>\n<\/ul>\n<p>En funci\u00f3n de la gravedad de un bug inform\u00e1tico luego suelen ser corregidos. As\u00ed, una vulnerabilidad cr\u00edtica se suele corregir en la siguiente actualizaci\u00f3n. Los fallos de seguridad \u00abaltos\u00bb o \u00abcr\u00edticos\u00bb no suelen tardar mucho en solucionarlos, las de nivel medio depende de lo molestas que sean, y las bajas puede que no se arreglen nunca.<\/p>\n<p>Tambi\u00e9n, un hecho que se produce con cierta frecuencia es liberar software con bugs conocidos de baja prioridad. Las razones por las que se toman estas decisiones de no arreglar un bug inform\u00e1tico de baja prioridad suelen ser dos:<\/p>\n<ul>\n<li>No es posible solucionarlo antes de la fecha de lanzamiento y el error se solucionar\u00e1 en una pr\u00f3xima actualizaci\u00f3n.<\/li>\n<li>Los cambios que hay que hacer son econ\u00f3micamente demasiado altos.<\/li>\n<\/ul>\n<p><strong>\u00a0<\/strong><\/p>\n<p><strong>\u00bfQu\u00e9 podemos hacer poder para protegernos de los bugs o errores inform\u00e1ticos?<\/strong><\/p>\n<p>Para minimizar los bugs inform\u00e1ticos y reducir su impacto en una empresa o particular, se pueden tomar una serie de medidas:<\/p>\n<ol>\n<li><strong> Utilizar depuradores<\/strong><\/li>\n<\/ol>\n<p>Los depuradores o debuggers son programas que analizan el c\u00f3digo en busca de errores y los depuran o solucionan cuando los encuentran. Son utilizados por programadores y administradores de sistemas para corregir fallos que pueden ocasionar riesgos de seguridad.<\/p>\n<ol start=\"2\">\n<li><strong> Revisar la compatibilidad entre programas<\/strong><\/li>\n<\/ol>\n<p>Cuando se trabaja con distintos programas es importante comprobar si son compatibles entre s\u00ed a la hora de intercambiar informaci\u00f3n o procesos, para evitar la aparici\u00f3n de alg\u00fan bug durante su uso. Un ejemplo lo podemos encontrar en una web dise\u00f1ada con WordPress. Cada vez que se a\u00f1ade un nuevo plugin o complemento es importante verificar su compatibilidad con la versi\u00f3n de WordPress que se est\u00e1 utilizando para evitar la aparici\u00f3n de estos molestos bugs.<\/p>\n<ol start=\"3\">\n<li><strong> Actualizar el hardware<\/strong><\/li>\n<\/ol>\n<p>Muchos bugs se producen por problemas de incompatibilidad entre el software y el hardware por lo que es importante actualizar computadoras y otros dispositivos, reduciendo as\u00ed el riesgo de que se produzcan este tipo de fallos.<\/p>\n<ol start=\"4\">\n<li><strong> Limpiar el equipo de malware<\/strong><\/li>\n<\/ol>\n<p>Muchos programas maliciosos interfieren en el comportamiento del software instalado en el equipo. Es recomendable realizar escaneos y limpiezas peri\u00f3dicas de los equipos para que este tipo de software no pueda hacer uso de bugs y vulnerabilidades para atacar el sistema (bloqueando su acceso, robando informaci\u00f3n, u otro tipo de actividades peligrosas).<\/p>\n<ol start=\"5\">\n<li><strong> Valorar la actualizaci\u00f3n del sistema operativo a una nueva versi\u00f3n<\/strong><\/li>\n<\/ol>\n<p>Con las nuevas versiones de un sistema operativo o programa siempre vienen asociados una serie de bugs que se van corrigiendo posteriormente. Esto es as\u00ed porque los test que se llevan a cabo durante su desarrollo no tienen el nivel de alcance que se produce cuando son utilizados por una gran cantidad de usuarios tras su lanzamiento. Por este motivo es mejor esperar antes de instalar una nueva versi\u00f3n hasta comprobar que los desarrolladores lancen parches para reparar los posibles bugs del lanzamiento.<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>","protected":false},"excerpt":{"rendered":"<p>Un error de software, error o simplemente fallo (tambi\u00e9n conocido por el ingl\u00e9s, bug) es un problema en un programa de computador o sistema de software que desencadena un resultado indeseado. Los programas que ayudan a la detecci\u00f3n y eliminaci\u00f3n de errores de software son denominados depuradores (en ingl\u00e9s, debuggers). Es decir, en software, un [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":408,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_theme","meta":{"footnotes":""},"class_list":["post-6514","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/itdconsulting.com\/en\/wp-json\/wp\/v2\/pages\/6514","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/itdconsulting.com\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/itdconsulting.com\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/itdconsulting.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/itdconsulting.com\/en\/wp-json\/wp\/v2\/comments?post=6514"}],"version-history":[{"count":1,"href":"https:\/\/itdconsulting.com\/en\/wp-json\/wp\/v2\/pages\/6514\/revisions"}],"predecessor-version":[{"id":7257,"href":"https:\/\/itdconsulting.com\/en\/wp-json\/wp\/v2\/pages\/6514\/revisions\/7257"}],"up":[{"embeddable":true,"href":"https:\/\/itdconsulting.com\/en\/wp-json\/wp\/v2\/pages\/408"}],"wp:attachment":[{"href":"https:\/\/itdconsulting.com\/en\/wp-json\/wp\/v2\/media?parent=6514"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}