You are here:
Publication details
Minuska: Towards a Formally Verified Programming Language Framework
Authors | |
---|---|
Year of publication | 2024 |
Type | Article in Proceedings |
Conference | 22nd International Conference on Software Engineering and Formal Methods |
MU Faculty or unit | |
Citation | |
Keywords | programming language semantics; interpreter; semantic framework; Coq |
Description | Programming language frameworks allow us to generate language tools (e.g., interpreters) just from a formal description of the syntax and semantics of a programming language. As these frameworks tend to be quite complex, an issue arises whether we can trust the generated tools. To address this issue, we introduce a practical formal programming language framework called Minuska, which always generates a provably correct interpreter given a valid language definition. This is achieved by (1) defining a language MinusLang for expressing programming language definitions and giving it formal semantics and (2) using the Coq proof assistant to implement an interpreter parametric in a MinusLang definition and to prove it correct. Minuska provides strong correctness guarantees and can support non-trivial languages while performing well. |