From Zero to Proving: Building Your First Language with the K Framework
Sat 17 Jun 2023 11:20 - 12:30 at Magnolia 17 - (Tutorial) K
The K Framework (https://kframework.org/) provides a set of tools for developing programming languages. By writing a single description of your language’s syntax and operational semantics, you can use K to automatically extract a parser, interpreter, and symbolic execution engine (and many more) for your language. This approach scales: K implementations have been built for many mainstream programming languages (C, Rust, Java, Python, EVM to name a few), and K is used in practice every day for real verification problems.
This tutorial is aimed at anyone who is interested in programming language implementation or program verification, and will have three main parts:
-
We’ll cover setting up a K development environment, and the basics of writing simple K code.
-
Then, we’ll move on to defining the syntax and operational semantics of a simple imperative language in K. We’ll cover the most important parts of the K developer tooling and APIs here.
- Finally, with our language definition in hand, we can begin taking advantage of K’s support for deductive verification to write some simple proofs over programs.
By the end of the tutorial, the aim is for attendees to be able to implement and verify their next research DSL or language using K.
Sat 17 JunDisplayed time zone: Eastern Time (US & Canada) change
09:00 - 11:00 | |||
09:00 2h | From Zero to Proving: Building Your First Language with the K Framework Tutorials Bruce Collie Runtime Verification, Inc. |
11:20 - 12:30 | |||
11:20 70m | From Zero to Proving: Building Your First Language with the K Framework Tutorials Bruce Collie Runtime Verification, Inc. |