Triton is a dynamic binary analysis framework designed to automate reverse engineering. It functions as a multi-architecture CPU emulator, an SMT-based symbolic execution engine, and a dynamic taint analysis tool. The framework translates raw machine instructions into abstract syntax trees, allowing it to represent binary program logic as a structured intermediate representation. This allows the system to map multiple hardware instruction sets to a single analysis framework and translate machine instructions into mathematical formulas for solving constraints. Its capabilities cover the simul
Ikos is a formal verification suite and static analysis framework designed to prove the absence of undefined behaviors and runtime errors in C and C++ source code. It functions as an abstract interpretation tool that approximates program execution to identify potential crashes and software defects. The system utilizes a compiler front-end to translate source code into a specialized abstract representation. This process decouples language parsing from the analysis logic, allowing the framework to perform deep program analysis via a formal verification system. The toolkit covers several analys
Lean 4 is a functional programming language and interactive proof assistant used to formalize mathematics and verify software correctness. It functions as a dependent type theorem prover and a formal verification tool that allows users to construct mathematical proofs and ensure program correctness. Additionally, it serves as a logic-based source for generating verified datasets used to train and benchmark artificial intelligence reasoning systems. The system distinguishes itself through a small-kernel verification model, where all proofs are verified by a trusted core of basic logical rules.
Mythril is an Ethereum Virtual Machine smart contract security analyzer that uses symbolic execution to identify vulnerabilities in bytecode before deployment. It functions as a vulnerability scanner and formal auditor, treating program inputs as mathematical symbols to prove the presence of bugs in contract logic. The tool performs bytecode-level analysis to detect flaws that may be hidden by high-level compilers. It integrates SMT solvers to determine if specific vulnerability states are reachable and compares symbolic execution traces against a library of known security flaw signatures. T
Kani is a formal verification tool and model checker for Rust. It functions as a bit-precise static analyzer that mathematically proves the correctness and memory safety of code by exhaustively analyzing program states to identify undefined behavior, panics, and logic errors.
Les fonctionnalités principales de model-checking/kani sont : Formal Verification, Memory Safety Verification, Compile-Time Correctness Verification, SMT-Based Constraint Solving, Symbolic Execution Engines, Rust Program Analysis, Function Contract Specifications, Bit-Precise Model Checkers.
Les alternatives open-source à model-checking/kani incluent : jonathansalwan/triton — Triton is a dynamic binary analysis framework designed to automate reverse engineering. It functions as a… nasa-sw-vnv/ikos — Ikos is a formal verification suite and static analysis framework designed to prove the absence of undefined behaviors… leanprover/lean4 — Lean 4 is a functional programming language and interactive proof assistant used to formalize mathematics and verify… trailofbits/manticore — Manticore is a symbolic execution engine designed for the analysis of binary executables and smart contracts. It… consensys/mythril — Mythril is an Ethereum Virtual Machine smart contract security analyzer that uses symbolic execution to identify… microsoft/bosquelanguage — Bosque is an experimental programming language and development platform designed for machine-assisted software…