Grigore Rosu: The K Framework – A Framework to Formally Define All Programming Languages

12/06/2018 1h 28min Episodio 239

Listen "Grigore Rosu: The K Framework – A Framework to Formally Define All Programming Languages"

Episode Synopsis

In the past few years, we witnessed the development of multiple smart contract languages – Solidity, Viper, Michelson, Scilla etc. These languages need to enable developers to write correct, predictable behavior smart contract code. Each language development effort therefore ends up spending resources into building formal verification toolsets, compilers, debuggers and other developer tools.
In this episode, we are joined by Grigore Rosu, Professor of computer science at UIUC (University of Illinois at Urbana-Champaign) for a deep dive into the K framework. The K framework is mathematic logic and language that enables language developers to formally define all programming languages; such as C, Solidity and JavaScript. Once a language is formally specified in the K framework, the framework automatically outputs a range of formal verification toolsets, compilers, debuggers and other developer tools for it. Updates to the language can be made directly in K. This technology has massive implications for smart contract programming language development, and formal verification efforts in the blockchain space.
We also cover his efforts to express the Ethereum virtual machine using the K framework, and to develop a new virtual machine technology, called IELE, specifically tailored to the blockchain space. Check out the episode to understand a game changing technology in the formal verification and smart contract safety space.
Topics covered in this episode:

Grigore’s background with NASA and work on formally verified correct software
Motivations to develop K framework
Basic principles behind the operation of K framework
How K deals with undefined behavior / ambiguities in a language definition
The intersection of K framework and smart contract technology
Runtime Verification’s collaboration with Cardano
KEVM and IELE, smart contract virtual machines developed by Runtime Verification
Broader implications of the K framework for the blockchain industry

Episode links:

Defining the undefinedness of C - formalisation of C using the K framework
IELE - a new virtual machine for the blockchain
Runtime verification - Grigore's company
K Semantics of the Ethereum Virtual Machine
Short video on Grigore's partnership with Cardano
An overview of the K framework by Runtime Verification
A detailed technical overview of the K semantic framework

This episode is hosted by Meher Roy and Sunny Aggarwal. Show notes and listening options: epicenter.tv/239