Show simple item record

dc.contributor.advisorWolovick, Nicolás
dc.contributor.advisorGutson, Daniel
dc.contributor.authorFrias Garay, Alvaro
dc.date.accessioned2024-05-06T13:40:06Z
dc.date.available2024-05-06T13:40:06Z
dc.date.issued2023-10-15
dc.identifier.urihttp://hdl.handle.net/11086/551748
dc.descriptionTesis (Lic. en Ciencias de la Computación)--Universidad Nacional de Córdoba, Facultad de Matemática, Astronomía, Física y Computación, 2023.es
dc.description.abstractEsta 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.es
dc.description.abstractThis 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.en
dc.language.isospaes
dc.rightsAttribution 4.0 International*
dc.rights.urihttp://creativecommons.org/licenses/by/4.0/*
dc.subjectTeoría de la computaciónes
dc.subjectSemántica y razonamientoes
dc.subjectEstructura de tiposes
dc.subjectInterpretación abstractaes
dc.subjectSistema de tiposes
dc.subjectCompiladoreses
dc.subjectLenguajeses
dc.subjectHerramientas de softwarees
dc.subjectTheory of computationen
dc.subjectSemantics and reasoningen
dc.subjectProgram constructsen
dc.subjectAbstract Interpretationen
dc.subjectCompilersen
dc.subjectLanguagesen
dc.subjectSoftware testing toolsen
dc.subjectX86 Assemblyen
dc.titleUna herramienta para chequeo de tipos en Assembly X86es
dc.typebachelorThesises
dc.description.filFil: Frias Garay, Alvaro. Universidad Nacional de Córdoba. Facultad de Matemática, Astronomía, Física y Computación; Argentina.es


Files in this item

Thumbnail
Thumbnail

This item appears in the following Collection(s)

Show simple item record

Attribution 4.0 International
Except where otherwise noted, this item's license is described as Attribution 4.0 International