EL PENSAMIENTO COMPUTACIONAL Y LA DEPURACIÓN
EL PENSAMIENTO COMPUTACIONAL Y LA DEPURACIÓN
¿Qué es la depuración?
La depuración es el proceso de encontrar y solucionar errores en el código fuente de cualquier software. Cuando un software no funciona tal y como se espera, los programadores de computadoras estudian el código para determinar por qué ocurren algunos errores. Con este objetivo, los programadores utilizan herramientas de depuración para ejecutar el software en un entorno controlado, comprobar el código paso a paso y analizar y solucionar el error.
El término “depuración” se remonta a la almirante Grace Hopper, quien trabajó en la Universidad de Harvard en la década de 1940. Cuando uno de sus colegas encontró una polilla que impedía el funcionamiento de uno de las computadoras de la universidad, les dijo que estaban depurando el sistema. Se registró por primera el uso de los términos errores y depuración por parte de los programadores de computadoras en la década de 1950 y, a principios de la década de 1960, el término depuración se aceptaba comúnmente en la comunidad de programación.
¿Por qué es importante la depuración?
Los fallos y errores se producen en la programación de computación porque es una actividad abstracta y conceptual. Las computadoras manipulan los datos en forma de señales electrónicas. Los lenguajes de programación abstraen esta información para que los humanos puedan interactuar con computadoras de manera más eficiente. Cualquier tipo de software tiene varias capas de abstracción, con diferentes componentes que se comunican para que una aplicación funcione correctamente. Cuando ocurren errores, encontrar y resolver el problema puede ser un desafío. Las herramientas y estrategias de depuración ayudan a solucionar problemas más rápido y mejoran la productividad de los desarrolladores. Como resultado, tanto la calidad del software como la experiencia del usuario final mejoran.
¿Cómo funciona el proceso de depuración?
El proceso de depuración suele requerir los siguientes pasos.
Identificación de errores
Los desarrolladores, los encargados de las pruebas y los usuarios finales informan de los errores que descubren mientras prueban o usan el software. Los desarrolladores localizan la línea exacta de códigos o el módulo de código que causa el error. Esto puede ser un proceso tedioso y que requiere mucho tiempo.
Análisis de errores
Los codificadores analizan el error mediante el registro de todos los cambios de estado del programa y los valores de los datos. También dan prioridad a la corrección de errores en función de su impacto en la funcionalidad del software. El equipo de software también identifica un calendario para la corrección de errores en función de los objetivos y requisitos de desarrollo.
Corrección y validación
Los desarrolladores arreglan el error y hacen pruebas para asegurarse de que el software continúa en funcionamiento como se espera. Pueden escribir nuevas pruebas para comprobar si el error se repite en el futuro.
Comparación entre la depuración y las pruebas
La depuración y las pruebas son procesos complementarios que garantizan que los programas de software funcionen como deben. Después de escribir una sección completa o parte de un código, los programadores realizan pruebas para identificar fallos y errores. Una vez encontrados los errores, los codificadores pueden comenzar el proceso de depuración y trabajar para librar al software de cualquier error.
¿Cuáles son los errores de codificación que se deben depurar?
Los defectos de software surgen debido a la complejidad inherente al desarrollo de software. También se observan pequeños errores de producción después de que el software esté en funcionamiento porque los clientes lo usan de forma inesperada. A continuación, presentamos algunos tipos de errores comunes que suelen requerir el proceso de depuración.
Errores de sintaxis
Un error de sintaxis es un fallo que se produce cuando un programa de computación tiene una sentencia mal escrita. Es el equivalente a una errata o error ortográfico en el procesamiento de textos. El programa no se compilará ni se ejecutará si hay errores de sintaxis. El software de edición de código suele resaltar este error.
Errores semánticos
Los errores semánticos se producen por el uso inadecuado de las declaraciones de programación. Por ejemplo, si traduce la expresión x/(2 π) a Python, podría escribir lo siguiente:
y = x / 2 * math.pi
Sin embargo, esta declaración no es correcta porque la multiplicación y la división tienen la misma prioridad en Python y se evalúan de izquierda a derecha. Por lo tanto, esta expresión se calcula como (xπ)/2, lo que da lugar a errores.
Errores lógicos
Los errores lógicos se producen cuando los programadores tergiversan el proceso o el algoritmo de un programa de computación. Por ejemplo, el código puede salir de un bucle demasiado pronto o puede tener un resultado if-then incorrecto. Puede identificar los errores lógicos si recorre el código para varios escenarios diferentes de entrada o salida.
Errores de tiempo de ejecución
Los errores de tiempo de ejecución se producen debido al entorno informático en el que se ejecuta el código del software. Algunos ejemplos son el espacio de memoria insuficiente o el desbordamiento de la pila. Para resolver los errores de tiempo de ejecución, puede rodear las declaraciones en bloques try-catch o registrar la excepción con un mensaje apropiado.
¿Cuáles son algunas de las estrategias de depuración más comunes?
Hay varias estrategias que los programadores usan para minimizar los errores y reducir el tiempo necesario para la depuración.
Desarrollo incremental de programas
El desarrollo incremental consiste en desarrollar los programas en secciones manejables, de modo que se prueben con frecuencia pequeñas porciones del código. De este modo, los programadores pueden localizar los errores que encuentren. También les permite trabajar en un error a la vez en lugar de en múltiples errores después de escribir grandes secciones de código.
Rastreo
El rastreo es un método popular de depuración, sobre todo para los programas más pequeños. Los desarrolladores trabajan hacia atrás desde el lugar donde se produjo un error grave para identificar el punto exacto de aparición en el código. Lamentablemente, el proceso se vuelve más difícil de lograr a medida que aumenta el número de líneas de código.
Depuración remota
La depuración remota es la depuración de una aplicación que se ejecuta en un entorno distinto al de su máquina local. Por ejemplo, puede usar herramientas de depuración instaladas de forma remota para resolver el error.
Registro
La mayoría de los programas de computación registran los datos internos y otra información crítica, como el tiempo de ejecución y los estados del sistema operativo, en archivos de registro. Los desarrolladores estudian los archivos de registro para localizar y resolver los errores. También usan herramientas como los analizadores de registros para automatizar el procesamiento de los archivos de registro.
Depuración en la nube
La depuración de aplicaciones complejas en la nube es un reto porque los desarrolladores tienen que emular las arquitecturas de la nube en las máquinas locales. Con el tiempo, pueden surgir diferencias de configuración entre el entorno de la nube y el entorno emulado. Esto da lugar a más errores en producción y a ciclos de desarrollo más largos. Se necesitan herramientas especiales para una depuración más eficaz de la nube.
ACTIVIDAD EN CLASE
- Que es depurar y porque es importante en programación.
- Realiza un mapa mental del tema en una aplicación on line y tráelo impreso.
- Explica cada uno de estos procesos con imágenes o símbolos, las utilizaras en tus diseños 3D.: GRADO 1101: identificación, análisis, corrección y depuración de errores, GRADO 1102 programa, rastreo, nube, registro de errores, GRADO 1103 sintaxis, tiempo, algoritmo, semántica de errores, GRADO 1104 corrección, rastreo, sintaxis, datos.
- Consulta sobre estos tipos de errores que aparecen con frecuencia error 500, error 404, error 403, error 402, 401, error 400.
- Busca un ejemplo para cada estrategia de depuración.
Nicoll Álvarez-Daniel Garcia 1104 envió enlace del trabajo https://www.tinkercad.com/things/bJ4YjxFMSOu-bodacious-jaiks/edit?returnTo=https%3A%2F%2Fwww.tinkercad.com%2Fdashboard&sharecode=vzbVyQrC9TW1yOxM4H-TRAhQPgKAnZlFApZCDNtR3Zw
ResponderBorrarMaia Isabella Camacho- David Santiago Méndez - Envió enlace del trabajo 1104JM https://www.tinkercad.com/things/2LcyTLDgfCr-depuracion/edit?returnTo=https%3A%2F%2Fwww.tinkercad.com%2Fdashboard%2Fdesigns%2F3d&sharecode=_mzvL0swad7jS5hxpjDvbs6n2P4Vjx-4LxSMu8KCspg
ResponderBorrarANGELICA TORRES envío enlace del trabajo
ResponderBorrarhttps://www.tinkercad.com/things/0uAqgs9MBTG-depuracion/edit?returnTo=https%3A%2F%2Fwww.tinkercad.com%2Fdashboard&sharecode=pwoMcX7TEJOTvrg-Nl2Sq3VEk9i4N_3V4xgll-hRKyA
Mayorga Jaider- Hernandez Danna- ENVIO ENLACE DE TRABAJO 1104
ResponderBorrarhttps://www.tinkercad.com/things/cW72lGvxFqU/edit?sharecode=HZBNIcm7CZ0LXKtKeZC8xlmb3_eQY7bkQvu9dJLuK6k
Julian Felipe Parada Ortiz- Melanie Carvajal Perez 1104 https://www.tinkercad.com/things/4hwwSvWOYDW/edit?returnTo=%2Fdashboard&sharecode=OqIhpAfm57VFrm9hSTp5AaDGgHdGw7ZPw7cU4YCfK0I
ResponderBorrarPaez Wilmer - Acero Gomez -1104 Envió enlace de trabajo
ResponderBorrarhttps://www.tinkercad.com/things/3yUcu4DXp5X/edit?sharecode=PZXVk0L3EJ0_1VYufLtq8GBTWFOgH2DlqRmvNRpCYZQ
Darien Montenegro- Mariana Zamora 1104
ResponderBorrarhttps://www.tinkercad.com/things/2UfQ6LDh4si-grand-stantia/edit?returnTo=https%3A%2F%2Fwww.tinkercad.com%2Fdashboard&sharecode=jCDnH20m5CgVs3Q9O73kPT5icNBbUMlIkoH2sI3Xmcw
Dilan Andrade/Alma Galán 1004 enviamos enlace de trabajo https://www.tinkercad.com/things/9aSYX3BRuxU/edit?returnTo=%2Fdashboard%2Fdesigns%2F3d&sharecode=PeUBq979OzGrNtDf2Bvr8jAFHfuJWLwH8vpDuXsKKBg
ResponderBorrarEste comentario ha sido eliminado por el autor.
ResponderBorrarhttps://www.tinkercad.com/things/6yhHLpDvYGK-depuracion/edit?returnTo=https%3A%2F%2Fwww.tinkercad.com%2Fdashboard&sharecode=J6z9JBmRzX5NUmVdCD4jQ0RiKugtrk7Clq_EsLd_0vs
ResponderBorrarCamila Ascencio-1104
ResponderBorrarhttps://www.tinkercad.com/things/eFmW0ahhYm7-powerful-lahdi-bruticus/edit?returnTo=https%3A%2F%2Fwww.tinkercad.com%2Fdashboard
Johan Sebastian Forero Martín - Jennifer Alexandra Patiño Pascagaza 1104
ResponderBorrarhttps://www.tinkercad.com/things/dFz09LST6v6/edit?returnTo=%2Fdashboard&sharecode=LwMLR0Nzb52eF5DRVfQXyuMqayoN4JKkl0zCrlDg7BM
Santiago Campos 1104
ResponderBorrarhttps://www.tinkercad.com/things/hZ6FTUogxHV/edit?returnTo=%2Fdashboard&sharecode=0sh2tGNms2Fb6oo4b6JS5hlkYjH4hTn11eNl0kSPghs
Brenda Michel Pérez arias-Brandon steban Ospina casas 1104 https://www.tinkercad.com/things/90WJpVLvrPo/edit?sharecode=AL07w_fLwpt7BgizyH-A6NEr63dWzlAqPjUmiwP_3kM
ResponderBorrarjonnathan steff garcia fonseca-sharon natalia llerena
ResponderBorrarhttps://www.tinkercad.com/things/l1zHOkRvNau-depuracion/edit?returnTo=https%3A%2F%2Fwww.tinkercad.com%2Fdashboard&sharecode=KC5NogBO-kDu8pzB8eZSPIMrdvUGcqeZxq-4MKR2GHk
williamestevantorresrodriguez-valentina mendez campos
ResponderBorrarhttps://www.tinkercad.com/things/g3tQtxrPmsW-frantic-fulffy-elzing
Dayana Garzon - Lindsay Sanchez envio enlace del trabajo https://www.tinkercad.com/things/dAQ8qZA8Xqb-dazzling-gogo-bigery/edit?returnTo=https%3A%2F%2Fwww.tinkercad.com%2Fdashboard&sharecode=KmAyQGeNjmwNUVB4dCxjuRg6o9FqWohtU1khaFCnXcg
ResponderBorrarPaula Andrea Joya Ome 1101 J.M enlace de trabajo: https://www.tinkercad.com/things/gTsuhJaJh4l-copy-of-sopote-lupa/edit?returnTo=https%3A%2F%2Fwww.tinkercad.com%2Fdashboard&sharecode=4c0XY5rV6Qru4LPcnuTK1z2-wJC847APPNXlcmyJzwg
ResponderBorrar