Just a bunch off stuff related to formal verification of Strimzi, Kafka and compilers related..
This repository contains a collection of formal verification models, compiler experiments, and testing suites designed to improve software reliability and correctness. The projects within this repository utilize TLA+ for formal verification, Java for property-based testing, and ANTLR for compiler development.
The repository is organized into several sections:
The formal_verification
directory includes various subdirectories, each targeting different systems and concepts using TLA+:
TLA+: Contains specific implementations for distributed systems algorithms and designs, such as Kafka’s leader election, Raft consensus, and simple algorithmic examples.
kafka
: Models focusing on leader election within Kafka.raft
: Contains implementations for Raft distributed consensus.simple
: Simple models like Dining Philosophers, Stack operations, and counter implementations.strimzi
: Models related to Strimzi operations, like topic lifecycle management.Abstract Interpretation: Contains examples in a point language demonstrating abstract interpretation concepts.
Model Checking: A directory dedicated to examples that demonstrate model checking.
The compilers
directory contains work related to programming languages and compiler construction:
;
) with 🦄
, built with ANTLR.clang
/gcc
, with lexical analysis, parsing, and code generation.The assembly
directory contains various experiments and implementations related to low-level programming.
The profiling
directory includes tools and experiments for analyzing performance characteristics of programs.
The testing
directory is focused on software testing methodologies:
uto
system.The other
directory contains miscellaneous projects and experiments.
[1] Introduction to Static Analysis - Link