Una herramienta para chequeo de tipos en Assembly X86
- Autores
- Frias Garay, Alvaro
- Año de publicación
- 2023
- Idioma
- español castellano
- Tipo de recurso
- tesis de grado
- Estado
- versión publicada
- Colaborador/a o director/a de tesis
- Wolovick, Nicolás
Gutson, Daniel - Descripción
- Tesis (Lic. en Ciencias de la Computación)--Universidad Nacional de Córdoba, Facultad de Matemática, Astronomía, Física y Computación, 2023.
Fil: Frias Garay, Alvaro. Universidad Nacional de Córdoba. Facultad de Matemática, Astronomía, Física y Computación; Argentina.
Esta tesis aborda el desarrollo de una herramienta diseñada para realizar el chequeo de tipos en programas escritos en el lenguaje de ensamblaje x86. El principal desafío abordado en esta investigación es superar la falta de mecanismos de chequeo de tipos en el lenguaje assembly, lo cual es crítico dada la naturaleza de bajo nivel y la complejidad asociada con la manipulación directa de la memoria y las operaciones de hardware. La herramienta se integra en la cadena de herramientas LLVM, aprovechando su infraestructura para analizar y procesar el código assembly. Se modificó el parser de ensamblador de LLVM para soportar anotaciones de tipos, permitiendo a los desarrolladores agregar especificaciones de tipos a los registros y comprobaciones a las instrucciones de assembly. Esta funcionalidad ayuda a prevenir errores comunes como desbordamientos de memoria y accesos ilegales, los cuales pueden ser difíciles de detectar y depurar en entornos de bajo nivel Los resultados obtenidos demuestran la eficacia de la herramienta en la identificación de errores de tipos en varios casos de prueba. Estos incluyen pruebas con manipulaciones directas de punteros y aritmética de punteros, donde los errores de tipos pueden tener consecuencias críticas.
This thesis addresses the development of a tool designed for type checking in programs written in x86 assembly language. The main challenge addressed in this research is to overcome the lack of type-checking mechanisms in assembly language, which is critical given the low-level nature and complexity associated with direct memory manipulation and hardware operations. The tool is integrated into the LLVM toolchain, leveraging its infrastructure to analyze and process assembly code. The LLVM assembler parser was modified to support type annotations, allowing developers to add type specifications to registers and checks to assembly instructions. This functionality helps prevent common errors such as memory overflows and illegal accesses, which can be difficult to detect and debug in low-level environments. The results obtained demonstrate the tool's efficacy in identifying type errors in various test cases. These include tests with direct pointer manipulations and pointer arithmetic, where type errors can have critical consequences.
Fil: Frias Garay, Alvaro. Universidad Nacional de Córdoba. Facultad de Matemática, Astronomía, Física y Computación; Argentina. - Materia
-
Teoría de la computación
Semántica y razonamiento
Estructura de tipos
Interpretación abstracta
Sistema de tipos
Compiladores
Lenguajes
Herramientas de software
Theory of computation
Semantics and reasoning
Program constructs
Abstract Interpretation
Compilers
Languages
Software testing tools
X86 Assembly - Nivel de accesibilidad
- acceso abierto
- Condiciones de uso
- Repositorio
.jpg)
- Institución
- Universidad Nacional de Córdoba
- OAI Identificador
- oai:rdu.unc.edu.ar:11086/551748
Ver los metadatos del registro completo
| id |
RDUUNC_5a53cf6096cbf12737768fab9c0ccbad |
|---|---|
| oai_identifier_str |
oai:rdu.unc.edu.ar:11086/551748 |
| network_acronym_str |
RDUUNC |
| repository_id_str |
2572 |
| network_name_str |
Repositorio Digital Universitario (UNC) |
| spelling |
Una herramienta para chequeo de tipos en Assembly X86Frias Garay, AlvaroTeoría de la computaciónSemántica y razonamientoEstructura de tiposInterpretación abstractaSistema de tiposCompiladoresLenguajesHerramientas de softwareTheory of computationSemantics and reasoningProgram constructsAbstract InterpretationCompilersLanguagesSoftware testing toolsX86 AssemblyTesis (Lic. en Ciencias de la Computación)--Universidad Nacional de Córdoba, Facultad de Matemática, Astronomía, Física y Computación, 2023.Fil: Frias Garay, Alvaro. Universidad Nacional de Córdoba. Facultad de Matemática, Astronomía, Física y Computación; Argentina.Esta tesis aborda el desarrollo de una herramienta diseñada para realizar el chequeo de tipos en programas escritos en el lenguaje de ensamblaje x86. El principal desafío abordado en esta investigación es superar la falta de mecanismos de chequeo de tipos en el lenguaje assembly, lo cual es crítico dada la naturaleza de bajo nivel y la complejidad asociada con la manipulación directa de la memoria y las operaciones de hardware. La herramienta se integra en la cadena de herramientas LLVM, aprovechando su infraestructura para analizar y procesar el código assembly. Se modificó el parser de ensamblador de LLVM para soportar anotaciones de tipos, permitiendo a los desarrolladores agregar especificaciones de tipos a los registros y comprobaciones a las instrucciones de assembly. Esta funcionalidad ayuda a prevenir errores comunes como desbordamientos de memoria y accesos ilegales, los cuales pueden ser difíciles de detectar y depurar en entornos de bajo nivel Los resultados obtenidos demuestran la eficacia de la herramienta en la identificación de errores de tipos en varios casos de prueba. Estos incluyen pruebas con manipulaciones directas de punteros y aritmética de punteros, donde los errores de tipos pueden tener consecuencias críticas.This thesis addresses the development of a tool designed for type checking in programs written in x86 assembly language. The main challenge addressed in this research is to overcome the lack of type-checking mechanisms in assembly language, which is critical given the low-level nature and complexity associated with direct memory manipulation and hardware operations. The tool is integrated into the LLVM toolchain, leveraging its infrastructure to analyze and process assembly code. The LLVM assembler parser was modified to support type annotations, allowing developers to add type specifications to registers and checks to assembly instructions. This functionality helps prevent common errors such as memory overflows and illegal accesses, which can be difficult to detect and debug in low-level environments. The results obtained demonstrate the tool's efficacy in identifying type errors in various test cases. These include tests with direct pointer manipulations and pointer arithmetic, where type errors can have critical consequences.Fil: Frias Garay, Alvaro. Universidad Nacional de Córdoba. Facultad de Matemática, Astronomía, Física y Computación; Argentina.Wolovick, NicolásGutson, Daniel2023-10-15info:eu-repo/semantics/bachelorThesisinfo:eu-repo/semantics/publishedVersionhttp://purl.org/coar/resource_type/c_7a1finfo:ar-repo/semantics/tesisDeGradoapplication/pdfhttp://hdl.handle.net/11086/551748spainfo:eu-repo/semantics/openAccessreponame:Repositorio Digital Universitario (UNC)instname:Universidad Nacional de Córdobainstacron:UNC2025-10-23T11:17:21Zoai:rdu.unc.edu.ar:11086/551748Institucionalhttps://rdu.unc.edu.ar/Universidad públicaNo correspondehttp://rdu.unc.edu.ar/oai/snrdoca.unc@gmail.comArgentinaNo correspondeNo correspondeNo correspondeopendoar:25722025-10-23 11:17:21.397Repositorio Digital Universitario (UNC) - Universidad Nacional de Córdobafalse |
| dc.title.none.fl_str_mv |
Una herramienta para chequeo de tipos en Assembly X86 |
| title |
Una herramienta para chequeo de tipos en Assembly X86 |
| spellingShingle |
Una herramienta para chequeo de tipos en Assembly X86 Frias Garay, Alvaro Teoría de la computación Semántica y razonamiento Estructura de tipos Interpretación abstracta Sistema de tipos Compiladores Lenguajes Herramientas de software Theory of computation Semantics and reasoning Program constructs Abstract Interpretation Compilers Languages Software testing tools X86 Assembly |
| title_short |
Una herramienta para chequeo de tipos en Assembly X86 |
| title_full |
Una herramienta para chequeo de tipos en Assembly X86 |
| title_fullStr |
Una herramienta para chequeo de tipos en Assembly X86 |
| title_full_unstemmed |
Una herramienta para chequeo de tipos en Assembly X86 |
| title_sort |
Una herramienta para chequeo de tipos en Assembly X86 |
| dc.creator.none.fl_str_mv |
Frias Garay, Alvaro |
| author |
Frias Garay, Alvaro |
| author_facet |
Frias Garay, Alvaro |
| author_role |
author |
| dc.contributor.none.fl_str_mv |
Wolovick, Nicolás Gutson, Daniel |
| dc.subject.none.fl_str_mv |
Teoría de la computación Semántica y razonamiento Estructura de tipos Interpretación abstracta Sistema de tipos Compiladores Lenguajes Herramientas de software Theory of computation Semantics and reasoning Program constructs Abstract Interpretation Compilers Languages Software testing tools X86 Assembly |
| topic |
Teoría de la computación Semántica y razonamiento Estructura de tipos Interpretación abstracta Sistema de tipos Compiladores Lenguajes Herramientas de software Theory of computation Semantics and reasoning Program constructs Abstract Interpretation Compilers Languages Software testing tools X86 Assembly |
| dc.description.none.fl_txt_mv |
Tesis (Lic. en Ciencias de la Computación)--Universidad Nacional de Córdoba, Facultad de Matemática, Astronomía, Física y Computación, 2023. Fil: Frias Garay, Alvaro. Universidad Nacional de Córdoba. Facultad de Matemática, Astronomía, Física y Computación; Argentina. Esta tesis aborda el desarrollo de una herramienta diseñada para realizar el chequeo de tipos en programas escritos en el lenguaje de ensamblaje x86. El principal desafío abordado en esta investigación es superar la falta de mecanismos de chequeo de tipos en el lenguaje assembly, lo cual es crítico dada la naturaleza de bajo nivel y la complejidad asociada con la manipulación directa de la memoria y las operaciones de hardware. La herramienta se integra en la cadena de herramientas LLVM, aprovechando su infraestructura para analizar y procesar el código assembly. Se modificó el parser de ensamblador de LLVM para soportar anotaciones de tipos, permitiendo a los desarrolladores agregar especificaciones de tipos a los registros y comprobaciones a las instrucciones de assembly. Esta funcionalidad ayuda a prevenir errores comunes como desbordamientos de memoria y accesos ilegales, los cuales pueden ser difíciles de detectar y depurar en entornos de bajo nivel Los resultados obtenidos demuestran la eficacia de la herramienta en la identificación de errores de tipos en varios casos de prueba. Estos incluyen pruebas con manipulaciones directas de punteros y aritmética de punteros, donde los errores de tipos pueden tener consecuencias críticas. This thesis addresses the development of a tool designed for type checking in programs written in x86 assembly language. The main challenge addressed in this research is to overcome the lack of type-checking mechanisms in assembly language, which is critical given the low-level nature and complexity associated with direct memory manipulation and hardware operations. The tool is integrated into the LLVM toolchain, leveraging its infrastructure to analyze and process assembly code. The LLVM assembler parser was modified to support type annotations, allowing developers to add type specifications to registers and checks to assembly instructions. This functionality helps prevent common errors such as memory overflows and illegal accesses, which can be difficult to detect and debug in low-level environments. The results obtained demonstrate the tool's efficacy in identifying type errors in various test cases. These include tests with direct pointer manipulations and pointer arithmetic, where type errors can have critical consequences. Fil: Frias Garay, Alvaro. Universidad Nacional de Córdoba. Facultad de Matemática, Astronomía, Física y Computación; Argentina. |
| description |
Tesis (Lic. en Ciencias de la Computación)--Universidad Nacional de Córdoba, Facultad de Matemática, Astronomía, Física y Computación, 2023. |
| publishDate |
2023 |
| dc.date.none.fl_str_mv |
2023-10-15 |
| dc.type.none.fl_str_mv |
info:eu-repo/semantics/bachelorThesis info:eu-repo/semantics/publishedVersion http://purl.org/coar/resource_type/c_7a1f info:ar-repo/semantics/tesisDeGrado |
| format |
bachelorThesis |
| status_str |
publishedVersion |
| dc.identifier.none.fl_str_mv |
http://hdl.handle.net/11086/551748 |
| url |
http://hdl.handle.net/11086/551748 |
| dc.language.none.fl_str_mv |
spa |
| language |
spa |
| dc.rights.none.fl_str_mv |
info:eu-repo/semantics/openAccess |
| eu_rights_str_mv |
openAccess |
| dc.format.none.fl_str_mv |
application/pdf |
| dc.source.none.fl_str_mv |
reponame:Repositorio Digital Universitario (UNC) instname:Universidad Nacional de Córdoba instacron:UNC |
| reponame_str |
Repositorio Digital Universitario (UNC) |
| collection |
Repositorio Digital Universitario (UNC) |
| instname_str |
Universidad Nacional de Córdoba |
| instacron_str |
UNC |
| institution |
UNC |
| repository.name.fl_str_mv |
Repositorio Digital Universitario (UNC) - Universidad Nacional de Córdoba |
| repository.mail.fl_str_mv |
oca.unc@gmail.com |
| _version_ |
1846785278660837376 |
| score |
12.982451 |