Design and implement your programming language and software analysis tools with mathematical rigor. Formally verify your programs for maximum assurance.

K gives you
  • a framework for defining formal syntax & semantics of programming languages
  • a suite of execution and analysis tools parametric in your programming language
  • a program verifier whose trust base is your programming language formal semantics

Latest from the K Blog:

Sep 21 2018 ERC777-K: Formal Executable Specification of ERC777 by Daejun Park
Aug 15 2018 Formal verification of ERC-20 contracts by Brian Marick
Jul 20 2018 How Formal Verification of Smart Contracts Works by Brian Marick
May 25 2018 K Framework – An Overview by Grigore Rosu
Feb 06 2018 K Framework Enables Verification of Smart Contracts by Mike Koon

Based on cutting edge research, K allows you to define domain-specific or general-purpose programming languages, and then generate powerful, rigorous, and automatic tools for formally analyzing programs in those languages. No resources wasted anymore to design and implement languages and tools in an adhoc way.