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.
Principalele funcționalități ale model-checking/kani sunt: 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.
Alternativele open-source pentru model-checking/kani includ: 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…