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
 

Improving Circom compiler diagnostic messages through static analysis

dc.contributor.advisorRubio Gimeno, Alberto
dc.contributor.advisorIsabel Márquez, Miguel
dc.contributor.authorKabtoul, Owayss
dc.date.accessioned2024-10-17T14:39:11Z
dc.date.available2024-10-17T14:39:11Z
dc.date.issued2024
dc.descriptionTrabajo de Fin de Master en Métodos Formales en Ingeniería Informática, Facultad de Informática UCM, Departamento de Sistemas Informáticos y Computación, Curso 2023/2024
dc.description.abstractA static program analyzer reasons about the behavior of a program and analyzes its source code to find potential issues such as bugs, antipatterns, and other issues that can be diagnosed without executing the program. In the present work, we apply techniques from static program analysis to Circom, a programming language and a compiler for designing arithmetic circuits expressed as polynomial constraints and encoded as a set of equations called to rank-1 constraint system (R1CS). The analyzer we implement identifies patterns in the source code to recommend code snippets to the programmer to make their code more idiomatic. Moreover, it applies Path Analysis techniques to verify semantic rules that are enforced by the Circom compiler, and helps in detecting non-terminating loops in order to avoid wasting resources on a nonterminating program.
dc.description.abstractLas herramientas de análisis de código estático examinan el código fuente de un programa con el fin de detectar posibles problemas como errores de funcionamiento (bug), antipatrones, y demás inconvenientes que puedan diagnosticarse sin tener que ejecutar dicho programa. En el presente trabajo aplicaremos técnicas de análisis estático de programas a Circom, un lenguaje de programación y compilador para diseñar circuitos aritméticos que se expresan y codifican como un sistema de ecuaciones que se denomina "rank-1 constraint system (R1CS)". El analizador que desarrollaremos es capaz de encontrar patrones en el código fuente y sugerir fragmentos de código al programador con el fin de mejorar su código y hacerlo más idiomático. Asimismo, se aplican técnicas de grafo de control de flujo (CFG) para llevar a cabo un Path Analysis que verifica que se cumplan las reglas semánticas que impone el compilador de Circom, así como detectar bucles que no terminan con el propósito de aprovechar mejor los recursos de computación.
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/109074
dc.language.isoeng
dc.master.titleMáster en Métodos Formales en Ingeniería Informática
dc.page.total68
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.keywordStatic analysis
dc.subject.keywordCompiler checks
dc.subject.keywordCircom
dc.subject.keywordArithmetic circuits
dc.subject.keywordSoftware lints
dc.subject.keywordPath analysis
dc.subject.keywordLoop termination
dc.subject.keywordAnálisis estático
dc.subject.keywordCompilador
dc.subject.keywordCircuitos airtméticos
dc.subject.keywordLints de software
dc.subject.keywordError de diagnóstico
dc.subject.keywordPath analysis
dc.subject.keywordTerminación de bucles
dc.subject.ucmInformática (Informática)
dc.subject.unesco33 Ciencias Tecnológicas
dc.titleImproving Circom compiler diagnostic messages through static analysis
dc.title.alternativeMejora de los mensajes de error del compilador de Circom a través del análisis estático
dc.typemaster thesis
dc.type.hasVersionAM
dspace.entity.typePublication
relation.isAdvisorOfPublicationfdfffd91-34f6-4e0a-9fce-0c38ab083383
relation.isAdvisorOfPublication06ba5ba7-fae5-4f98-99b7-3830106dee88
relation.isAdvisorOfPublication.latestForDiscoveryfdfffd91-34f6-4e0a-9fce-0c38ab083383

Download

Original bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
Kabtoul.pdf
Size:
2.42 MB
Format:
Adobe Portable Document Format