github.com/kframework/kore ↗

The symbolic execution engine powering the K Framework

An animated visualization of kframework/kore's Git history from December 2016 to February 2021, built by 41 contributors. The codebase reached 29,502 lines, mostly Haskell. The video runs 2 minutes 39 seconds.

Render your own repo

Turn any GitHub repository into a video like this — free sample in seconds.

Visualize your own →

Open this visualization on its own page →

Language

Haskell

Contributors

41

Lines of Code

29,502

From

2016-12-23

To

2021-02-19

Advertisement

About kframework/kore

Kore is the symbolic execution engine that powers the K Framework, a term rewriting-based specification language. This project implements tools for symbolically executing programs written in languages specified using K by operating on Kore, an intermediate representation produced when K compiles language specifications. The core component is kore-rpc-booster, a JSON RPC-based server that implements symbolic term rewriting according to the KORE RPC protocol, allowing external tools to request execution and simplification of Kore terms against a language definition.

The project is intentionally low-level and not designed for direct end-user interaction. Instead, it serves as a backend for higher-level tools like pyk, a Python-based theorem prover in the K Framework repository that builds on top of the KORE RPC protocol. The engine can optionally use a dynamic library compiled by the LLVM backend to optimize simplification of boolean-sorted terms, integrating with the broader K compilation pipeline.

Development is managed through both Stack and Cabal, with extensive support for Nix-based development environments and continuous integration. The project includes integration testing infrastructure that compiles the K Framework against the current Haskell backend version, performance testing scripts for downstream projects like KEVM and Kontrol, and tooling for analyzing test failures and generating reproducible test cases from bug reports. The codebase is written in Haskell and requires strict formatting compliance via Fourmolu.

Advertisement

Share this video