#239 Grigore Rosu: The K framework – a framework to formally define all programming languages


Epicenter – Podcast on Blockchain, Ethereum, Bitcoin and Distributed Technologies - 2018-06-12


Description

Support the show, consider donating: BTC: 1CD83r9EzFinDNWwmRW4ssgCbhsM5bxXwg ETH: 0x8cdb49ca5103Ce06717C4daBBFD4857183f50935

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 in

Support the show, consider donating:

BTC: 1CD83r9EzFinDNWwmRW4ssgCbhsM5bxXwg

ETH: 0x8cdb49ca5103Ce06717C4daBBFD4857183f50935



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:






This episode was hosted by Brian Fabian Crain & Sunny Aggarwal, and is availble on
YouTube,
SoundCloud,
and our website.


Appearances: