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

Loading...
Thumbnail Image

Official URL

Full text at PDC

Publication date

2023

Editors

Journal Title

Journal ISSN

Volume Title

Publisher

Citations
Google Scholar

Citation

Abstract

In 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.
En 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.

Research Projects

Organizational Units

Journal Issue

Description

Trabajo 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.

Keywords