Aviso: para depositar documentos, por favor, inicia sesión e identifícate con tu cuenta de correo institucional de la UCM con el botón MI CUENTA UCM. No emplees la opción AUTENTICACIÓN CON CONTRASEÑA
 

Extending the circom compiler

dc.contributor.advisorRubio Gimeno, Albert
dc.contributor.advisorIsabel Márquez, Miguel
dc.contributor.authorDíaz Rodríguez, Juan Carlos
dc.date.accessioned2023-09-13T14:31:29Z
dc.date.available2023-09-13T14:31:29Z
dc.date.issued2023
dc.degree.titleGrado en Ingeniería Informática
dc.descriptionTrabajo de Fin de Grado en Ingeniería Informática, Facultad de Informática UCM, Departamento de Sistemas Informáticos y Computación, Curso 2022/2023.
dc.description.abstractIn this project, a static analysis is developed for the compiler of circom, a Domain Specific Language to design Zero-Knowledge protocols. It aims to detect assignments of variables that play no role in the generated code. Either because the variable is never read before going out of scope or because a new assignment occurs before the variable has ever been read. An algorithm is developed for this analysis and a correction proof is also given. Benchmarking tests have been conducted on the compiler itself and the code generated by it. The results are presented in the section following the algorithm’s explanation. A discussion of the results and the benefits this analysis brings to the compiler appears at the end of the document.
dc.description.abstractEn este proyecto se ha desarrollado un análisis estático para el compilador de circom, un Lenguage de Dominio Específico para el diseño de protocolos de Conocimiento Nulo. Su objetivo es detectar asignaciones de variables que no juegan ningún papel en el código generado. Bien porque la variable se sale de scope antes de ser leída o porque hay una nueva asignación de la variable antes de que el antiguo valor se haya llegado a examinar. Se propone un algoritmo y se presenta una demostración de su correción. Se han llevado a cabo tests de rendimiento tanto sobre el compilador como sobre el código que este genera. Los resultados de dichas pruebas aparecen en la sección posterior a la presentación del algoritmo. Al final del documento, se expone una discusión de los resultados y los beneficios que este análisis presenta para el compilador.
dc.description.departmentDepto. de Sistemas Informáticos y Computación
dc.description.facultyFac. de Informática
dc.description.refereedTRUE
dc.description.statusunpub
dc.identifier.urihttps://hdl.handle.net/20.500.14352/87738
dc.language.isoeng
dc.page.total58
dc.rightsAttribution-NonCommercial-NoDerivatives 4.0 Internationalen
dc.rights.accessRightsopen access
dc.rights.urihttp://creativecommons.org/licenses/by-nc-nd/4.0/
dc.subject.cdu004(043.3)
dc.subject.keywordCompiler
dc.subject.keywordCircom
dc.subject.keywordstatic analysis
dc.subject.keywordassignment
dc.subject.keywordtrace
dc.subject.keywordRust
dc.subject.keywordcode safety
dc.subject.keywordcode optimization.
dc.subject.keywordCompilador
dc.subject.keywordanálisis estático
dc.subject.keywordasignación
dc.subject.keywordtraza
dc.subject.keywordseguridad del código
dc.subject.keywordoptimización de código
dc.subject.ucmInformática (Informática)
dc.subject.unesco33 Ciencias Tecnológicas
dc.titleExtending the circom compiler
dc.title.alternativeExtensiones sobre el compilador de circom
dc.typebachelor thesis
dc.type.hasVersionAM
dspace.entity.typePublication

Download

Original bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
55014_JUAN_CARLOS_DIAZ_RODRIGUEZ_Extending_the_Circom_compiler_2404368_1827234593.pdf
Size:
2 MB
Format:
Adobe Portable Document Format