Logo Studenta

Evidencia 2 - Investigación de errores semánticos- erick espinosa cajun

¡Estudia con miles de materiales!

Vista previa del material en texto

Instituto Tecnológico Superior 
Progreso 
Dirección General 
Subdirección Académica 
 
 
 
Boulevard Tecnológico de Progreso S/N por 62, Progreso, Yucatán. C.P. 97320 
Tels. 969 934 3023, tecnm.mx | progreso.tecnm.mx 
 
 
 
INSTITUTO TECNOLÓGICO 
SUPERIOR PROGRESO 
 
INGENIERÍA EN SISTEMAS COMPUTACIONALES 
 
ASIGNATURA 
Lenguaje y Autómatas 2 
 
DOCENTE 
Holzen Atocha Martínez García 
 
TRABAJO 
Evidencia 2 - Investigación de errores 
semánticos 
 
PRESENTA 
Erick Espinosa Cajun 
 
 
Progreso Yucatán, 19 de 09 de 2023. 
 
 
 
Instituto Tecnológico Superior 
Progreso 
Dirección General 
Subdirección Académica 
 
 
 
Boulevard Tecnológico de Progreso S/N por 62, Progreso, Yucatán. C.P. 97320 
Tels. 969 934 3023, tecnm.mx | progreso.tecnm.mx 
 
 
 
 
 
 
 
 
Introducción 
 
 
Un error semántico ocurre cuando la sintaxis de un código es correcta, pero su 
significado no es el deseado. Los compiladores e intérpretes se encargan de verificar la 
estructura del código, pero no su significado, por lo que no detectan errores semánticos. 
Estos errores pueden causar que un programa se ejecute de manera anormal, incluso 
sin mostrar un mensaje de error, lo que a menudo se conoce como que el equipo se 
quede 'colgado'. 
 
Los compiladores, en su mayoría, deben lidiar con entradas incorrectas, especialmente 
en las primeras etapas de desarrollo de un programa. Se utilizan para realizar 
comprobaciones como si las variables se han declarado antes de usarlas o si faltan 
corchetes, entre otras. Por lo tanto, la gestión de errores es una parte crucial de un 
compilador, y los diseñadores de compiladores deben considerar posibles errores al 
diseñar un lenguaje de programación. Por ejemplo, es importante asegurarse de que 
cada declaración en el lenguaje comience con una palabra clave diferente, a excepción 
de las asignaciones. Sin embargo, es fundamental recordar que los errores deben 
considerarse desde el principio al diseñar un lenguaje de programación. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Instituto Tecnológico Superior 
Progreso 
Dirección General 
Subdirección Académica 
 
 
 
Boulevard Tecnológico de Progreso S/N por 62, Progreso, Yucatán. C.P. 97320 
Tels. 969 934 3023, tecnm.mx | progreso.tecnm.mx 
 
Clasificación de errores semánticos 
 
existen varias formas en que pueden surgir errores, las cuales se reflejan en el 
código fuente del programa. Desde el punto de vista del compilador, los errores 
se pueden dividir en dos categorías: 
 
Acceso incorrecto a variables: Esto ocurre cuando una variable se utiliza en un 
contexto donde su tipo o valor no es apropiado. Por ejemplo, intentar realizar 
operaciones aritméticas en una variable que almacena texto. 
 
Incompatibilidad de tipos de datos: Sucede cuando se intenta realizar una operación 
entre variables o valores que no son compatibles según las reglas de tipos de datos del 
lenguaje. Por ejemplo, sumar una cadena de texto y un número. 
 
Malentendidos en la lógica del programa: Estos errores se producen cuando la lógica 
de un programa no refleja correctamente la intención del desarrollador. Puede resultar 
en resultados incorrectos o comportamientos inesperados. 
 
Referencias a elementos inexistentes: Esto implica el intento de acceder a variables, 
objetos o elementos que no existen en el contexto actual del programa. 
 
Gestión incorrecta de punteros y memoria: En lenguajes que permiten la 
manipulación de punteros, los errores semánticos pueden surgir cuando se accede 
incorrectamente a la memoria o se producen fugas de memoria. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Instituto Tecnológico Superior 
Progreso 
Dirección General 
Subdirección Académica 
 
 
 
Boulevard Tecnológico de Progreso S/N por 62, Progreso, Yucatán. C.P. 97320 
Tels. 969 934 3023, tecnm.mx | progreso.tecnm.mx 
 
 
Detección de errores semánticos: 
 
 Análisis Estático: 
 
Análisis de Flujo de Datos: Examina cómo los datos fluyen a través del programa para 
detectar posibles inconsistencias o mal uso de variables. 
 
Análisis de Puntos de Acceso: Identifica dónde se accede a variables y datos, lo que 
puede ayudar a prevenir errores de asignación y uso incorrecto. 
 
Análisis de Tipos: Verifica que las operaciones se realicen en tipos de datos 
compatibles y que no haya conflictos en las conversiones de tipos. 
 
 
Análisis de Alcance: Comprueba la visibilidad y la vida útil de las variables y garantiza 
que se utilicen dentro de su alcance definido. 
 
Verificación Formal: 
 
Modelado Formal: Utiliza técnicas de modelado matemático para verificar propiedades 
específicas del lenguaje o autómata y garantizar que cumplan con las especificaciones 
semánticas. 
Verificación de Modelos: Emplea técnicas de verificación formal, como model checking, 
para explorar exhaustivamente todas las posibles ejecuciones y detectar violaciones de 
propiedades semánticas. 
 
Pruebas y Validación: 
 
Pruebas Unitarias y de Integración: Diseña pruebas que se centren en la detección 
de errores semánticos en módulos individuales y en la interacción entre ellos. 
 
 
 
Instituto Tecnológico Superior 
Progreso 
Dirección General 
Subdirección Académica 
 
 
 
Boulevard Tecnológico de Progreso S/N por 62, Progreso, Yucatán. C.P. 97320 
Tels. 969 934 3023, tecnm.mx | progreso.tecnm.mx 
 
Pruebas de Propiedades Semánticas: Desarrolla pruebas específicas que verifiquen 
propiedades semánticas críticas, como la corrección de bucles o la consistencia de 
datos. 
 
 
 
 
 
 
 
Efectos de los errores: 
 
 La detección de un error en el código fuente ocasiona ciertas reacciones 
del compilador. El comportamiento de un compilador en el caso de que el código 
fuente contenga un error puede tener varias facetas: 
 
• El proceso de compilación se detiene al ocurrir el error y el compilador debe 
informar el error. 
 
• El proceso de compilación continúa cuando ocurre el error y se informa del error 
en un archivo listado. 
 
• El compilador no reconoce el error y por tanto no advierte al programador. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Instituto Tecnológico Superior 
Progreso 
Dirección General 
Subdirección Académica 
 
 
 
Boulevard Tecnológico de Progreso S/N por 62, Progreso, Yucatán. C.P. 97320 
Tels. 969 934 3023, tecnm.mx | progreso.tecnm.mx 
 
 
 
 
 
Conclusión: 
Los errores semánticos son desviaciones de las reglas de significado en un programa 
de computadora o en la definición de un lenguaje formal. En el contexto de lenguajes y 
autómatas, estos errores pueden tener un impacto sustancial en la comprensión y el 
funcionamiento de un programa o sistema, incluso llegando al punto en el que el 
programa no pueda ser compilado correctamente. 
 
 
 
Instituto Tecnológico Superior 
Progreso 
Dirección General 
Subdirección Académica 
 
 
 
Boulevard Tecnológico de Progreso S/N por 62, Progreso, Yucatán. C.P. 97320 
Tels. 969 934 3023, tecnm.mx | progreso.tecnm.mx 
 
 
 
 
Referencias: 
 
 
 
• 4.5 Errores semánticos. 
(s. f.). http://cidecame.uaeh.edu.mx/lcc/mapa/PROYECTO/li
bro32/45__errores_semnticos.html 
 
 
• C: Errores semanticos Learning, formerly Lynda.com. (2022, 
23 mayo). LinkedIn. https://www.linkedin.com/learning/c-
errores-comunes-y-como-solucionarlos 
http://cidecame.uaeh.edu.mx/lcc/mapa/PROYECTO/libro32/45__errores_semnticos.html
http://cidecame.uaeh.edu.mx/lcc/mapa/PROYECTO/libro32/45__errores_semnticos.html
https://www.linkedin.com/learning/c-errores-comunes-y-como-solucionarlos
https://www.linkedin.com/learning/c-errores-comunes-y-como-solucionarlos

Continuar navegando