Program Verification in Elixir
This 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...
| Autor: | |
|---|---|
| Tipo de recurso: | tesis de maestría |
| Fecha de publicación: | 2022 |
| País: | España |
| Institución: | Universidad Complutense de Madrid (UCM) |
| Repositorio: | Docta Complutense |
| Idioma: | inglés |
| OAI Identifier: | oai:docta.ucm.es:20.500.14352/73938 |
| Acceso en línea: | https://hdl.handle.net/20.500.14352/73938 |
| Access Level: | acceso abierto |
| Palabra clave: | 004(043.3) Program verification Elixir Metaprogramming SMT Intermediate representation Formal methods Verificación de programas Metaprogramación Representación intermedia Métodos formales Informática (Informática) 1203.17 Informática |
| Sumario: | This 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. |
|---|