Semantics of C in K Framework
github.com
github.com
I was confused by the git repo because I thought the "K" was referring to https://en.wikipedia.org/wiki/K_(programming_language) which is a terse APL-style language.
Tbh I thought a lot of of the development had moved to K-Maude, guess I was wrong :)
http://fsl.cs.illinois.edu/pubs/serbanuta-rosu-2010-wrla-sli...
Does it fully encode all semantics? Since typically formal verifications have issues with floating point stuff (hence why we STILL don't have complete formal models of C even in 2019).
What is the performance like compared to traditional compilers?
And to me the most important, what things can we suddenly do with K that we can't easily do with a combination of other tools, since it seems that it can do a lot more but this isn't really explained all that well to an outsider IMO.
To do so you can use eg model checking, and you require a semantic definition for doing so.
I don't recall floating point stuff being hard to encode. See eg the flocq project.
- The K EVM, the execution environment of Ethereum Smart Contract: https://github.com/kframework/evm-semantics
- Formal verification of the Beacon Chain, the Proof-Of-Stake consensus and finality protocol for Etheruem 2.0 phase 0: https://github.com/runtimeverification/beacon-chain-verifica...