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
 

Program Verification in Elixir

dc.contributor.advisorMontenegro Montes, Manuel
dc.contributor.authorEnríquez Ballester, Adrián
dc.date.accessioned2023-06-22T21:21:11Z
dc.date.available2023-06-22T21:21:11Z
dc.date.issued2022-07-12
dc.descriptionTrabajo de Fin de Máster en Métodos Formales en Ingeniería Informática, Facultad de Informática UCM, Departamento de Sistemas Informáticos y computación, Curso 2021-2022.
dc.description.abstractThis project addresses the formalization and implementation of a verification system for Elixir, a dynamically typed programming language with functional programming principles. Our system is inspired by projects like Dafny and will likewise rely on a verification intermediate representation, which will be the translation target of a supported Elixir subset plus ghost verification annotations, and uses SMT solvers for its verification. The metaprogramming capabilities of Elixir through macro expressions make this language suitable for developing domain-specific languages, and allows us to provide our implementation in Elixir itself without requiring us to modify its compiler or to implement a parser. Due to the breadth of the project, we have restricted the scope to sequential code and partial correctness verification.
dc.description.abstractEste proyecto aborda la formalización e implementación de un sistema de verificación para Elixir, un lenguaje de programación funcional dinámicamente tipado. Nuestro sistema está inspirado en proyectos como Dafny y, de manera similar, se apoya en una representación intermedia de verificación, la cual será objetivo de la traducción de un subconjunto de Elixir junto con anotaciones de verificación, y utiliza resolutores SMT para su verificación. Las capacidades de metaprogramación en Elixir a través de macros hacen que este sea un lenguaje adecuado para desarrollar lenguajes específicos de dominio, y nos permiten realizar nuestra implementación en Elixir mismo, sin requerir que modifiquemos su compilador o desarrollemos un analizador sintáctico. Dada la amplitud de este proyecto, hemos restringido su alcance a código secuencial y a verificación parcial.
dc.description.departmentDepto. de Sistemas Informáticos y Computación
dc.description.facultyFac. de Informática
dc.description.refereedTRUE
dc.description.statusunpub
dc.eprint.idhttps://eprints.ucm.es/id/eprint/73987
dc.identifier.urihttps://hdl.handle.net/20.500.14352/73938
dc.language.isoeng
dc.master.titleMáster en Métodos Formales en Ingeniería Informática
dc.page.total60
dc.rightsAtribución-NoComercial 3.0 España
dc.rights.accessRightsopen access
dc.rights.urihttps://creativecommons.org/licenses/by-nc/3.0/es/
dc.subject.cdu004(043.3)
dc.subject.keywordProgram verification
dc.subject.keywordElixir
dc.subject.keywordMetaprogramming
dc.subject.keywordSMT
dc.subject.keywordIntermediate representation
dc.subject.keywordFormal methods
dc.subject.keywordVerificación de programas
dc.subject.keywordMetaprogramación
dc.subject.keywordRepresentación intermedia
dc.subject.keywordMétodos formales
dc.subject.ucmInformática (Informática)
dc.subject.unesco1203.17 Informática
dc.titleProgram Verification in Elixir
dc.title.alternativeVerificación de programas en Elixir
dc.typemaster thesis
dspace.entity.typePublication
relation.isAdvisorOfPublicationdc391c7e-9682-4142-a1de-7d649b26bf3d
relation.isAdvisorOfPublication.latestForDiscoverydc391c7e-9682-4142-a1de-7d649b26bf3d

Download

Original bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
Adrián_Enríquez.pdf
Size:
978.2 KB
Format:
Adobe Portable Document Format